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

时间:2014-09-08 10:50:01

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

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

2 个答案:

答案 0 :(得分:1)

我在视图中找到了调用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>

现在,问题是:我无法将JavaScript Variable(message)值传递给helper方法(GridSort)。 我该怎么办?

答案 1 :(得分:0)

第一种方式: - 将其设为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"]