我试过没有用的,这样的话显示出来的还是ZSXG.aspx?ID={0}

解决方案 »

  1.   

    在DataGrid 的URlfield 中填入你数据库中的字段名。如ID
    当然,你应当在DataSet中包含它
      

  2.   

    你怎麽没写DataNavigateUrlField?
    DataNavigateUrlField="ID"
      

  3.   

    <asp:HyperLinkColumn
                     HeaderText="Select an Item"
                     DataNavigateUrlField="IntegerValue"
                     DataNavigateUrlFormatString="detailspage.aspx?id={0}"
                     DataTextField="PriceValue"
                     DataTextFormatString="{0:c}"
                     Target="_new"/>
    看看msdn上的一小段程序吧
    你没有写DataNavigateUrlField
      

  4.   

    <asp:HyperLinkColumn Text="详细" DataNavigateUrlField="OperatorID" DataNavigateUrlFormatString="ModifySPAdminInfo.aspx?OperatorID={0}">
    <HeaderStyle Width="5%"></HeaderStyle>
    </asp:HyperLinkColumn>
      

  5.   

    下面的示例说明如何创建一个链接到单独一页的 HyperLinkColumn。[Visual Basic] 
    <%@ Import Namespace="System.Data" %><%@ Page Language="VB" %><html><head>   <script runat="server">      Function CreateDataSource() As ICollection 
          
             Dim dt As DataTable = New DataTable()
             Dim dr As DataRow
             Dim i As Integer         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
             dt.Columns.Add(New DataColumn("PriceValue", GetType(Double)))
           
             For i = 0 to 2 
             
                dr = dt.NewRow()            dr(0) = i
                dr(1) = CDbl(i) * 1.23            dt.Rows.Add(dr)         Next i         Dim dv As DataView = New DataView(dt)
             Return dv      End Function      Sub Page_Load(sender As Object, e As EventArgs) 
        
             MyDataGrid.DataSource = CreateDataSource()
             MyDataGrid.DataBind()      End Sub   </script></head><body>   <form runat="server">      <h3>HyperLinkColumn Example<h3>      <asp:DataGrid id="MyDataGrid" 
               BorderColor="black"
               BorderWidth="1"
               GridLines="Both"
               AutoGenerateColumns="false"
               runat="server">         <HeaderStyle BackColor="#aaaadd"/>         <Columns>            <asp:HyperLinkColumn
                     HeaderText="Select an Item"
                     DataNavigateUrlField="IntegerValue"
                     DataNavigateUrlFormatString="detailspage.aspx?id={0}"
                     DataTextField="PriceValue"
                     DataTextFormatString="{0:c}"
                     Target="_new"/>
               
             </Columns>      </asp:DataGrid>   </form></body>
    </html>
    [C#] 
    <%@ Import Namespace="System.Data" %><%@ Page Language="C#" %><html><head>   <script runat="server">      ICollection CreateDataSource() 
          {
             DataTable dt = new DataTable();
             DataRow dr;         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
             dt.Columns.Add(new DataColumn("PriceValue", typeof(Double)));
           
             for (int i = 0; i < 3; i++) 
             {
                dr = dt.NewRow();            dr[0] = i;
                dr[1] = (Double)i * 1.23;            dt.Rows.Add(dr);
             }         DataView dv = new DataView(dt);
             return dv;
          }      void Page_Load(Object sender, EventArgs e) 
          {
             MyDataGrid.DataSource = CreateDataSource();
             MyDataGrid.DataBind();
          }   </script></head><body>   <form runat="server">      <h3>HyperLinkColumn Example<h3>      <asp:DataGrid id="MyDataGrid" 
               BorderColor="black"
               BorderWidth="1"
               GridLines="Both"
               AutoGenerateColumns="false"
               runat="server">         <HeaderStyle BackColor="#aaaadd"/>         <Columns>            <asp:HyperLinkColumn
                     HeaderText="Select an Item"
                     DataNavigateUrlField="IntegerValue"
                     DataNavigateUrlFormatString="detailspage.aspx?id={0}"
                     DataTextField="PriceValue"
                     DataTextFormatString="{0:c}"
                     Target="_new"/>
               
             </Columns>      </asp:DataGrid>   </form></body>
    </html>
    [Visual Basic, C#] 下面的相应示例显示在上一示例中选择的项。[Visual Basic] 
    <%@ Page Language="VB" %>
    <html>
    <head>
     
       <script runat="server">
     
          Sub Page_Load(sender As Object, e As EventArgs) 
          
             Label1.Text = "You selected item: " & Request.QueryString("id")
          
          End Sub
     
       </script>
     
    </head>
    <body>
     
       <h3>Details page for DataGrid</h3>
     
       <asp:Label id="Label1"
            runat="server"/>
     
    </body>
    </html>
    [C#] 
    <%@ Page Language="C#" %>
    <html>
    <head>
     
       <script runat="server">
     
          void Page_Load(Object sender, EventArgs e) 
          {
             Label1.Text = "You selected item: " + Request.QueryString["id"];
          }
     
       </script>
     
    </head>
    <body>
     
       <h3>Details page for DataGrid</h3>
     
       <asp:Label id="Label1"
            runat="server"/>
     
    </body>
    </html>
    [C++, JScript] 没有可用于 C++ 或 JScript 的示例。若要查看 Visual Basic 或 C# 示例,请单击页左上角的语言筛选器按钮 。
      

  6.   

    问题在各位的帮助下解决了,多谢各位的帮忙,尤其是catchdream(星剑) 和sandy2001(小帅猪) 两位。立马结分。