我想让HyperLinkColumn的url参数有两个字段:
somepage.aspx?id=1&name=terry
在数据源中的字段是ID和Name,
那应该怎么写DataNavigateUrlField? 问题点数:20、回复次数:5Top
HyperLinkColumn doesn't support multiple parameters, use TemplateColumn instead
<asp:TemplateColumn HeaderText="View Details">
<ItemTemplate>
<asp:Hyperlink runat="server" Text='View Details'
NavigateUrl='< %# "page.aspx?ViewID=" & Server.UrlEncode(Container.DataItem("ListingNo"))
"&Param2="&Server.UrlEncode(DropDown1.SelectedItem.Value)%> '
ID="Hyperlink1" NAME="Hyperlink1" />
</ItemTemplate>
</asp:TemplateColumn>
see
http://www.dotnetspider.com/Technology/KBPages/585.aspx
Top
用模板列,或者在DAtaGrid的ItemDataBound事件处理程序中先用FindControl方法找到对应列的HyperLink,然后通过绑定的数据指定它的NavigateUrl属性。Top
<asp:HyperLinkColumn DataNavigateUrlField="Num" DataNavigateUrlFormatString="Response.Redirect('../YL/YL.htm?id={0}')" DataTextField="Link" HeaderText="链接"></asp:HyperLinkColumn>
<asp:HyperLinkColumn DataNavigateUrlField="id" DataNavigateUrlFormatString="javascript:window.showModalDialog('ViewDetail.aspx?id={0}');" DataTextField="id" HeaderText="ID"></asp:HyperLinkColumn>
*************datagride列传递多个数据*********
<asp:TemplateColumn HeaderText="备注">
<ItemTemplate>
<asp:HyperLink id="HyperLink1" runat="server" NavigateUrl="Editfittings.aspx?str1=<%# DataBinder.Eval(Container.DataItem, 'ID')%>&str2=<%# DataBinder.Eval(Container.DataItem, 'CarType')%>" text='<%# DataBinder.Eval(Container.DataItem,"备注")%>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
当年我写的,有2种方法能选择Top
既然用模板列了,就用linkbutton,在后台想怎么写就怎么写。Top
就用模板列。
<asp:TemplateColumn HeaderText="备注">
<ItemTemplate>
<asp:HyperLink id="HyperLink1" runat="server" NavigateUrl="Editfittings.aspx?str1=<%# DataBinder.Eval(Container.DataItem, 'ID')%>&str2=<%# DataBinder.Eval(Container.DataItem, 'CarType')%>" text='<%# DataBinder.Eval(Container.DataItem,"备注")%>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
或者
<a href=“list.aspx?id='<%#databinder.eval(container.dataitem,"id")'&child='<%#databinder.eval(container.dataitem,"child")'”>连接</a>