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

代わりに次のようなことを試してください: - public static メソッド 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 に答える