我想通过datagrid中的超级链接列来实现向下一个页面(WebForm2.aspx)传递多个值..但是搞了半天始终只能传一个值.
我的做法:
1.在datagrid的属性生成器中的"URL字段"文本框中设置我想传递的数据库字段:hid
2.在datagrid的属性生成器中的"URL格式字符串"文本框中这样写:WebForm2.aspx?hid={0}
之后运行...成功..
但是当表中的的主键不止一个时就无法传递了..原因出在我无法正确设置datagrid的属性生成器中的"URL字段"文本框中的值...就是不知道多字段该如何写...例如:相传递hid 和 hname 两个数据库字段就不会实现了...请大家帮忙...谢谢...

解决方案 »

  1.   

    楼主见此帖http://community.csdn.net/Expert/TopicView.asp?id=4280483他折腾一晚上,你郁闷一上午hehe
      

  2.   

    <asp:TemplateColumn HeaderText="预订">
                          <ItemTemplate>
                            <a href=WebForm2.aspx?hid=<%# DataBinder.Eval(Container.DataItem,"hid") %>&pram=<%# DataBinder.Eval(Container.DataItem,"msg") %> >预订</a> 
                          </ItemTemplate>
                        </asp:TemplateColumn>
      

  3.   

    想问一下:
       如何在属性生成器中实现呢???谢谢
    --------------------------------------把需要的参数在SQL语句里拼成一个字段,属性生成器里就可以用了啊你没看我给你的链接吗
      

  4.   

    我也是DataNavigateUrlField不会写....
      

  5.   

    看了啊...但是他用的是模板列来实现的..------------------------------------------我让你看我的回复啦~看到这条SQL语句没?select *, '?id1=' + T_ype + '&id2=' + T_id as url from table1然后你的属性生成器里 DataNavigateUrlField 填 url 就好了明白了吗?
      

  6.   

    那SQL语句写在哪呢??
    谢谢 白菜兄
      

  7.   

    为什么非要用超链接列
     tigerwen01(小虎)(编程艺术化) 的代码  可以实现不就行了吗?
      

  8.   

    URL格式字符串中还是按原来的WebForm2.aspx?hid={0}&hname={1}就行了吗??
      

  9.   

    <asp:TemplateColumn SortExpression="Title" HeaderText="文件">
    <ItemTemplate>
    <asp:HyperLink id="HyperLinkAttach" runat="server" NavigateUrl='<%#"index.aspx?id=" + DataBinder.Eval(Container.DataItem, "ID").ToString + "&Title=" +DataBinder.Eval(Container.DataItem, "Title").ToString %>' Target=_blank>
    <%#DataBinder.Eval(Container.DataItem, "Title")%>
    </asp:HyperLink>
    </ItemTemplate>
    </asp:TemplateColumn>