0

这就是我所拥有的。页面加载,但超链接不是超链接。我在浏览器中查看页面的源代码,并在 a href 中看到与DataNavigateUrlFormatString下面属性中相同的字符串。我尝试了许多不同的方法,并且在执行过程中没有链接或错误。

<asp:HyperLinkField DataNavigateUrlFields="LIDCode" 
DataNavigateUrlFormatString='<%# Request.ServerVariables["SCRIPT_NAME"] %>?LC={0:d}&DD=true'>
</asp:HyperLinkField>
4

2 回答 2

0

如果 DataNavigateUrlFormatString 给我带来了麻烦,因为我无法在另一个服务器标签的属性中嵌入内联服务器标签(这就是问题所在),我要做的是在后面的代码中设置 DataNavigateUrlFormatString 属性,例如在Page_Load 事件

private void Page_Load()
{
    if (!IsPostBack)
    {

       string strUrlFormat = Request.ServerVariables["SCRIPT_NAME"] + "?LC={0:d}&DD=true"
       // get the gridview object and set the DataNavigateUrlFormatString property for the column in question here...  so if you gridview ID = "myGridView" and it is the third column...
       myGridView.Columns[2].DataNavigateUrlFormatString = strUtlFormat;

    }
}
于 2013-02-19T18:52:24.287 回答
0

改用这样的方法: - 创建公共静态方法 GetLink() - 更新超链接中的代码,使其看起来像这样

DataNavigateUrlFormatString='<%# PageName.GetLink() %>' 

public static string GetLink()
{
    //needs to be completed but you see the point
    return HttpContext.Current.Request.ServerVariables["SCRIPT_NAME"];
}
于 2013-02-23T20:26:05.617 回答