再DataGrid中用超级连接列,准备传递两个参数,其中一个不是显示的数据表中的列,能不能传递啊?哪位知道?请指点一下。谢谢!

解决方案 »

  1.   

    用其他的按钮列能不能实现?比如说用“删除”列,然后把里面 的事件处理程序里用Respons.Redirect(url),和直接用超级链接列效果一样吗?怎样传递两个参数?
      

  2.   

    用模板列可以传递多个参数
    如:
    <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>
      

  3.   

    我也遇到过想你这样的问题,我是先转换成模板列,再在dbgrid的ItemDataBound事件中写语句,动态生成NavigateUrl,如下:
    private void dbgrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if ((e.Item.ItemType==ListItemType.Item)||(e.Item.ItemType==ListItemType.AlternatingItem))
    {
    HyperLink myhl=(HyperLink)e.Item.FindControl("myhl");
    myhl.Text="超链接内容";
    myhl.NavigateUrl="WebForm1.aspx?参数1="+e.Item.Cells[0].Text+"&参数2="+自定义内容;
    }

    }