1

あるユーザーコントロールから別のユーザーコントロールにデータを渡したいのですが、JSのsessionStorage、ASPXのSession、両方のCookieなど、いくつかのことを試しましたが、うまくいきませんでした。このデータは動的であるため、他のユーザー コントロールに転送する方法はわかりません。

javascript関数にaspxコードを入れようとしました(ボタンをクリックすると、コードがトリガーされる可能性がありますが、うまく機能しません)。上記で参照したこのボタンは、リテラル コントロールで記述されています。

JavaScript 関数

この関数は LoadUsers UserControl です

  function getID(ID) {
        sessionStorage.setItem("userID", ID);
    }

この関数は Access UserControl にあります

 function catchIP() {
               var ID = sessionStorage.getItem("userID");
               $('#<%= value.ClientID %>').val(ID);
           }

ユーザー コントロール

ユーザーのロード:

 ...
 string _str = "<a href'#lastAccess' css='btn btn-success' onclick='javascript:getID(" + _id[_contForeach] + "); catchID();'>Access</a>";
 _loadUsers.Controls.Add(new LiteralControl(_str));

アクセス:

JavaScript 関数で ID にアクセスして、Page_Load を使用せずに適用するにはどうすればよいですか?

4

1 に答える 1

0

サーバー側コードとクライアント側コード (JavaScript) の間で情報を渡すには、ajax を使用します。

アヤックス

したがって、jquery を使用して、次のような関数を用意します。

$.get('getuserid.aspx', function(response) {
 //Do something with return response
});

次に、getuserid.aspx.cs の背後にあるコードで

private void Page_Load(object sender, System.EventArgs e)
{
    Response.Expires = -1;
    //required to keep the page from being cached on the client's browser

   //set userid

    Response.ContentType = "text/plain";
    Response.Write(userid);
    Response.End();
}
于 2013-01-25T15:54:01.313 に答える