在RowDataBound事件中设置NavigateUrl

时间:2016-03-25 21:36:08

标签: asp.net vb.net gridview query-string navigateurl

我目前有一个gridview,其中包含一列超链接,用于编辑和删除客户。我需要在我的情况下使用超链接,但是想知道我怎么能将其他值传递给我去的页面?现在我可以传递表值,但是如果我想传递其他数据呢?比如我的pageort,index和searchfields,在返回页面时使用?

现在我正在使用会话来处理上述问题,但被告知使用查询字符串代替值,并且不确定最佳方法。

<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="EditLink" runat="server" Text="Edit"
  NavigateUrl='<%# "~/EditCustomer.aspx?ID=" & DataBinder.Eval(Container.DataItem, "MasterContactID")%>' />
<asp:HyperLink ID="Delete" runat="server" Text="Delete"
  NavigateUrl='<%# "~/DeleteCustomer.aspx?ID=" & DataBinder.Eval(Container.DataItem, "MasterContactID")%>' />
</ItemTemplate>
</asp:TemplateField>

1 个答案:

答案 0 :(得分:1)

这取决于 - 您可以将其更改为按钮,在RowCommand事件中,您可以在Session中存储一些关键数据,然后重定向。或者,您可以将所有内容放在querystring中,但是如果您有很多字段要传递给另一个页面,我会使用一个按钮(或链接按钮),给它一个命令名,在Grid_RowCommand中,将值存储在session和重定向,然后在重定向后检索和删除会话变量。