我想将数据从一个用户控件传递到另一个用户控件,但我尝试了几种方法来做到这一点,但没有一种有效,例如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));
访问:
如何在 JavaScript 函数中访问 ID 并在不使用 Page_Load 的情况下应用它
最佳答案
要在服务器端代码和客户端代码 (JavaScript) 之间传递信息,请使用 ajax
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();
}
关于javascript - 从 JS 变量获取数据并设置在 ASP.NET 变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14524472/