1

在我的 ASP.NET Web 窗体中,我想DataNavigateUrlFieldsHyperLinkField控件中获取。

为了获得控件,我在RowDataBound事件中使用以下代码:

If e.Row.Cells(n).Controls(0).GetType().ToString() = "System.Web.UI.WebControls.HyperLink" Then
     Dim linkDownload As HyperLink = DirectCast(e.Row.Cells(n).Controls(0), HyperLink)

问题是我得到了一个已经“填充”的超链接,所以(DataNavigateURLFormatString )myPage.aspx?downloadId = {0}DataNavigateUrlFields( downloadGuid) 已经组合在HyperLink.NavigateUrl属性中。

有什么办法可以拿到DataNavigateUrlFields房产吗?如果没有,是否有任何函数可以从中提取downloadGuidHyperLink.NavigateUrl(简而言之,将NavigateUrl视为QueryString)?

VB 是首选,但 C# 中的答案也值得赞赏

4

2 回答 2

3

如果你得到了 url,你可以使用 Url 类来操作它。它还允许提取参数和值。也有 regexp 选项可用。

但是 DataNavigateUrlFields (downloadGuid) 中的 downloadGuid 来自哪里?您应该在 RowDataBound 事件参数中获取绑定对象,如果 downloadGuid 是属性,则可以从那里获取。

无论如何,完整的事件代码肯定会有所帮助。

于 2012-03-01T14:05:22.010 回答
2

为什么你不能得到它喜欢

 if(e.Row.RowType==DataControlRowType.DataRow)
                Response.Write(((DataRowView)e.Row.DataItem)["downloadGuid"]);
于 2012-03-01T14:22:13.967 回答