如何从JavaScript(客户端)调用Helper方法(服务器端)

how to call Helper Method(Server Side) from JavaScript(Client)?

本文关键字:调用 方法 服务器端 Helper 客户端 JavaScript      更新时间:2023-09-26

Senario:我想从JavaScript中调用一个Helper方法。我在服务器端生成了一些控件,如Grid、DataTimePicker、SlideShow。。。用于ASP.NET MVC。现在,我如何从JavaScript中调用helper方法?

我找到了在视图中调用助手方法的方法(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>

现在,问题是:我无法将JavaScriptVariable(message)值传递给helper方法(GridSort)。我能做什么?

第一种方法:-使其成为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"]