【问题标题】:How to pass local variable from Jquery function to ASP.NET MVC controller?如何将局部变量从 Jquery 函数传递到 ASP.NET MVC 控制器?
【发布时间】:2010-02-06 01:59:16
【问题描述】:

我在 JQuery 函数中有一个名为 mode 的局部变量。 根据单选按钮选择,在 JQuery 函数中设置此变量值。

现在我想在 COntroller 中访问这个值? 我们怎样才能做到这一点。

$(':radio').click(function() { var mode = this.value; });

现在如何在我的控制器方法中访问此模式变量。

[HttpPost] public ViewResult ExportToExcel(字符串模式) { }

感谢您的回复。

谢谢

【问题讨论】:

    标签: jquery asp.net-mvc


    【解决方案1】:

    您是否考虑过在页面上创建一个隐藏字段,然后通过 jQuery 更新其值?然后,当页面提交到服务器时,您可以将该值作为附加的 POST 字段读入。

    【讨论】:

      【解决方案2】:

      您应该执行同步请求(设置模式变量的表单提交)或 AJAX POST 请求,具体取决于您的应用程序设计

      【讨论】:

        【解决方案3】:

        因为mode 是在匿名函数内部声明的,所以不能在它之外访问。您可以创建一个使用模式变量的回调,或者使其更全局化,以便您可以在函数外部访问它。

        【讨论】:

          【解决方案4】:

          您可以执行类似的操作(或您想调用的任何其他 ajax 方法); $.post('yourController/ExportToExcel/'+mode,.../其余参数/);

          在你的匿名函数中让它喜欢;

          $(':radio').click(function() { var mode = this.value; $.post('yourController/ExportToExcel/'+mode,.../其余参数/); });

          【讨论】:

          • 我试过 $.post('Home/ExportToExcel', {"mode": mode });控制器中mode的值仍然为null。
          • 您是否使用控制器功能尝试了我给定的 url 格式: [HttpPost] public ViewResult ExportToExcel(string mode) {} ?这样,您将在“模式”参数中获得模式的值
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-10-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-13
          • 1970-01-01
          • 2013-04-07
          相关资源
          最近更新 更多