0

Web サイトにデータグリッドがあり、列の 1 つはハイパーリンク列です。ハイパーリンクをクリックする前に、いくつかのセッションを設定する必要があります。しかし、クライアント側でセッションを設定できません。どうすればできますか?

注:ボタン列を使用できません。ブラウザの「新しいウィンドウで開く」、「新しいタブで開く」プロパティが機能しません。

4

2 に答える 2

0

を使用しLinkButtonます。このコントロールは、任意のボタンとしてサーバーへのポストバックを生成します。ボタン ハンドラーで、必要なセッション変数を設定し、Response.Redirect()その後を実行します。

リンクを新しいウィンドウで開く必要がある場合。代わりにこれを使用してくださいResponse.Redirect()

ASPX

 <asp:LinkButton ID="LinkButton1" runat="server"     
    OnClick="LinkButton1_Click">Open</asp:LinkButton>

CS

protected void LinkButton1_Click(object sender, EventArgs e)
{
    Session["MyVar1"] = "SomeValue";

    Page.ClientScript.RegisterClientScriptBlock(GetType(), "OPEN_NEW_WINDOW",  
      "window.open('page.aspx','_blank')", true);
}
于 2012-06-21T12:55:22.617 に答える
-1

クライアントからセッション変数を設定する必要がある場合でも、それを行うことができますが、そのためにサーバーに対してAJAX呼び出しを行う必要があります。

于 2012-06-21T13:14:16.880 に答える