好比是:yyy.aspx?id=111&classname=kkkkk
但是HyperLinkColumn只能绑定一个参数啊
希望那位大哥用VB给个代码出来。

解决方案 »

  1.   

    在使用DataGrid的时候如果你有一个asp:HyperLinkColumn又想使用多个需要绑定的参数作为链接的url,那么请改成模板列,使用普通的link标签<a>或者asp:HyperLink都可以,下面2种实现多绑定参数的解决方案。(1)后台返回url
    前台
    <asp:TemplateColumn HeaderText="打开">
    <ItemTemplate>
    <asp:HyperLink Text="打开" NavigateUrl='<%# myfunc2(DataBinder.Eval(Container.DataItem,"vName"),DataBinder.Eval(Container.DataItem,"iAge"))%> ' Runat="server" Target="_blank" ID="Hyperlink1">
    </asp:HyperLink>
    </ItemTemplate>
    </asp:TemplateColumn>
    后台
    protected string myfunc2(object s1,object s2)
    {
    return "newpage.aspx?name="+s1.ToString()+"&age="+s2.ToString();
    }
    (2)直接前台设定url
    <asp:TemplateColumn HeaderText="打开">
    <ItemTemplate>
    <asp:HyperLink Text="打开" NavigateUrl='<%#"newpage.aspx?name="+DataBinder.Eval(Container.DataItem, "vname")+"&age="+DataBinder.Eval(Container.DataItem, "iage") %>' Runat="server" Target="_blank">
    </asp:HyperLink>
    </ItemTemplate>
    </asp:TemplateColumn>其实以上2个方案是一回事情,但是前者更加清晰,而且易于后台动态生成url。
      

  2.   

    找到一个这样的文章但是好像SQLSTRING有错误哦因为一个HyperLinkColumn控件只能绑定一个字段
    如果你使用的是数据绑定,例如在DataGrid控件中使用HyperLinkColumn,你需要先在SQL语言构造这个字段,例如:<asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" AllowPaging="True" PageSize="5">
    <Columns>
    ...
    <asp:HyperLinkColumn Text="details" DataNavigateUrlField="details" DataNavigateUrlFormatString="Detail.aspx?{0}"></asp:HyperLinkColumn>…
    </Columns>
    </asp:datagrid>
    下面是绑定数据的代码
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Not IsPostBack Then
                FillDataGrid()
            End If
        End Sub    Public Sub FillDataGrid()
            Dim cnn As SqlConnection = New SqlConnection("server=sha-vbdc-01;database=pubs;Integrated Security=SSPI")
            Dim sql As String
            'sql = "select * from authors"
            sql = "select *, 'au_id=' + au_id + '&' + 'au_fname=' + au_fname details from authors"
            Dim cmd As SqlDataAdapter = New SqlDataAdapter(sql, cnn)
            Dim ds As DataSet = New DataSet()
            cmd.Fill(ds, "Authors")
            DataGrid1.DataSource = ds
            DataGrid1.DataMember = "Authors"
            DataGrid1.DataBind()
        End Sub
    请注意上面的SQL语句,它构成一个details字段与HyperLinkColumn绑定。