0

TemplateField 内の GridView に HyperLink コントロールを追加しました。選択した行から ID を渡して、ユーザーを特定のページにリダイレクトしたいと考えています。以下は問題なく動作します。

<asp:HyperLink ID="hlViewBasketItem" runat="server" Text="Detail"
   NavigateUrl='<%# Eval("BasketItemID", "/BasketItemDetail.aspx?popUp=true&id={0}") %>'>
</asp:HyperLink>

ID は正しく評価されます。例: "/BasketItemDetail.aspx?popUp=true&id=52"

私が抱えている問題は、ページの表示を制御する (ポップアップ内に表示されるようにする) ために Javascript 関数を呼び出す必要があることです。私は次のことを試しました:

<asp:HyperLink ID="hlViewBasketItem" runat="server" Text="Detail"
    NavigateUrl='<%# Eval("BasketItemID", "javascript:dnnModal.show('/BasketItemDetail.aspx?bid={0}&popUp=true',false,550,950,false)") %>'>
</asp:HyperLink>

...しかし、「サーバー タグの形式が正しくありません」というエラーが表示されます。

実際にこれを行う方法はありますか?

4

2 に答える 2

0

asp.netハイパーリンクを使用するのではなく、次のようにhtmlアンカータグを使用してjavaスクリプト関数を呼び出します。

//javascript関数

   <script>
    function openPop(drp) {
        window.open('/BasketItemDetail.aspx?bid='+drp+'&popUp=true', false, 550, 950, false);
    }
</script>

//アンカータグ

 <a href="#" onclick="javascript:openPop('1')">Click Here </a>
于 2013-02-13T04:55:39.193 に答える
0

これが答えでした:

NavigateUrl=<%# "Javascript:dnnModal.show('BasketItemDetail.aspx?popUp=true&bid=" + DataBinder.Eval(Container.DataItem, "BasketItemID").ToString() + "')"%> 

私は今寝ることができます:)

于 2013-02-13T00:41:31.380 に答える