【问题标题】:how to call Helper Method(Server Side) from JavaScript(Client)?如何从 JavaScript(客户端)调用 Helper 方法(服务器端)?
【发布时间】:2014-09-08 10:50:00
【问题描述】:

塞纳里奥: 我想从 JavaScript 调用一个 Helper 方法。我在服务器端生成了一些控件,例如 Grid、DataTimePicker、SlideShow 等,用于 ASP.NET MVC。 现在,如何从 JavaScript 调用辅助方法?

【问题讨论】:

    标签: javascript asp.net-mvc custom-controls


    【解决方案1】:

    我在 view(ASP.NET MVC) 中找到了调用辅助方法的方法。 例如:

        namespace Component
        {
           public class HelperMethod
           {
             public static MvcHtmlString GridSort(this HtmlHelper helper,string fieldName)
             {
               //do something
             }
           }
        }
    

    我认为的代码:

        @using Component
    
        <script>
    
        $(document).ready(function(){
            var message='FirstName';
            var result = "@Html.GridSort(message)";  // here is the Error
            $("div#grdUsers").html(result );
        });
    
        </script>
    
        <div id="grdUsers">
         //grid elements
        </div>
    

    现在,问题是:我无法将 JavaScript 变量(消息)值传递给辅助方法(GridSort)。 我能做什么?

    【讨论】:

      【解决方案2】:

      第一种方式:- 将其设为 ACTION returning json - 并拨打 Ajax

      @using Component
      <script>
       $(document).ready(function(){
          var message='FirstName';
       $.ajax({
          url: '/Your Controller name /your Method name',
          type: 'POST',
          data: {message:message},
          dataType: 'json',
          contentType: 'application/json; charset=utf-8',
          success: function () {
      
          },
          error: function (error) {
              alert('error');
          }
      });
      
      });
      
      </script>
      
      <div id="grdUsers">
       //grid elements
      </div> 
      

      第二种方式:-使用Request.QueryString["message"]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-13
        • 1970-01-01
        • 2011-08-30
        • 2011-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多