【问题标题】:A good way to get Javascript Object from a page on button click in C#在 C# 中单击按钮时从页面获取 Javascript 对象的好方法
【发布时间】:2014-02-28 09:02:12
【问题描述】:

我有一个asp:Button,它被点击并执行后端操作(或者我想做后端操作)。

问题是我有一个大的 javascript 模板块,我想将它传回我的代码后端。

有没有一种体面/好的方法来做到这一点?有没有办法从我后面的代码(mypage.aspx.cs)中的 on click 方法中获取 javascript 块?

【问题讨论】:

  • “javascript 块”是什么意思。你有例子吗?
  • 你把它传递给后端是什么意思,你想从后面的代码中调用它吗?
  • 我正在使用把手传递 JSON javascript 语句。所以它几乎是 var anArrayOfOptions,我想将它传递给后端进行处理。

标签: c# javascript jquery asp.net .net


【解决方案1】:

您可以使用 jquery 在按钮单击时将 json 弹出到隐藏字段中,然后在后端检索它。您应该使用 json.net 之类的东西将支持的隐藏字段值解析为 json 对象,以便您可以使用内容http://james.newtonking.com/json

如下所示

<asp:HiddenField runat="server" id="hfJson" />
<asp:Button ID="btnSubmit" runat="server" Text="Click me" OnClick="btnSubmit_Click"  />
<script>
    $(function () {
        $('#<%=btnSubmit.ClientID %>').click(function () {
            $('#<%=hfJson.ClientID %>').val(anArrayOfOptions);
        });
    });
</script>

然后在你的代码后面

protected void btnSubmit_Click(object sender, EventArgs e)
{
    JObject anArrayOfOptions = JObject.Parse(hfJson.Value);
}

希望有帮助:)

【讨论】:

    【解决方案2】:

    我认为您可以使用关闭可见性的文本框。将该对象转换为 json 并将其更新到该文本框。您可以手动保持更新的对象,也可以使用 knockout.js onclick 表单会自动将值发布到服务器端,您可以在其中使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-20
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      相关资源
      最近更新 更多