我正在使用GridView
列HyperLink
,我想执行以下操作:
<asp:HyperLinkField DataNavigateUrlFields="DID"
DataNavigateUrlFormatString="~/student/group/document/Body.aspx?DID={0}&GN={QueryString("GN")}" HeaderText="View Document" Text="view" />
如何从QueryString
参数中检索GN的值并将其添加到HyperLink
列?
答案 0 :(得分:0)
在标记中执行此操作有多重要?我相当确保你不能在DataNavigateUrlFields
和DataNavigateUrlFormatString
的标记中执行此操作,但可以在代码中执行此操作RowDataBound事件:
Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
Dim link As HyperLink
Dim row As DataRow
If e.Row.RowType = DataControlRowType.DataRow Then
'Get the row we are binding to
row = CType(e.Row.DataItem, DataRowView).Row
'Find the hyperlink control we want to set the link for
link = CType(e.Row.Controls(1).Controls(0), HyperLink)
'Check if the querystring we want to include is missing or empty
If Request.QueryString("GN") Is Nothing Or Request.QueryString("GN") Is String.Empty Then
'If there is no querystring then we can only bind to the DID
link.NavigateUrl = "~/student/group/document/Body.aspx?DID=" & row.Item("DID").ToString
Else
'The querystring element is present so include it in the link
link.NavigateUrl = "~/student/group/document/Body.aspx?DID=" & row.Item("DID").ToString & "&GN=" & Request.QueryString("GN").ToString
End If
End If
End Sub