1

我想将数据从一个用户控件传递到另一个用户控件,但是我尝试了几件事来做到这一点,但它们都不起作用,例如 JS 中的 sessionStorage、ASPX 中的 Session、它们中的 cookie。该数据是动态的,因此我现在不知道如何将其传输到其他用户控件。

我什至尝试将 aspx 代码放入 javascript 函数中(然后当我单击按钮时,它可以触发代码,但效果不佳)。我上面提到的这个按钮是用文字控件编写的。

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));

使用权:

如何在不使用 Page_Load 的情况下访问 JavaScript 函数中的 ID 并应用它

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 回答