如何将 JSON 数据传递给代码隐藏方法(而不是 Webmethod)?

2024-03-23

我有 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(使用前将#替换为@)

如何将 JSON 数据传递给代码隐藏方法(而不是 Webmethod)? 的相关文章

随机推荐