我有 JSON 数据,需要将其传递给后面的代码并绑定到 obout 网格。我知道我们可以使用传递数据<WebMethod>
。但在 Webmethod 中我无法将数据绑定到 obout 网格和任何网格。因为它是静态网络方法。
所以现在我尝试从 javascript 调用方法后面的代码并将数据作为参数传递给方法。我们怎样才能做到这一点?
users = [];
for (var i = 0; i < usersInfo.length; i++) {
user = {
UserName : usersInfo[i].UserName,
Email : usersInfo[i].Email,
Status : status
};
users.push(user);
}
var results = "";
$('#lblError').val('');
if (users.length > 0) {
//Pass the `users` data to ShowResults code behind method.
}
代码隐藏
public void ShowResults(List<UsersInfo> users)
{
oboutGrid.DataSource = users;
oboutGrid.DataBind();
}
public partial class UsersInfo
{
public string UserName { get; set; }
public string Email { get; set; }
public string Status { get; set; }
}
一种方法是在 aspx 表单上包含一个隐藏字段
<asp:HiddenField ID="jsonDataHolder" ClientIDMode="Static" runat="server"/>
在此隐藏字段中,使用 JSON.stringify 将 JSON 数据添加为字符串
$('#jsonDataHolder').val(JSON.stringify({ id: 1, name: "mohamed" }));
然后,当页面正常回发时,您可以访问隐藏字段,反序列化它并执行您的代码
protected void btn_DOPostBack_Click(object sender, EventArgs e)
{
string data = this.jsonDataHolder.Value;
// desrialize json, do ur code
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)