有没有办法在Html帮助器中使用javaScript语法

时间:2014-05-02 15:44:06

标签: javascript jquery razor html-helper

我的剃刀视图中有以下代码: -

@Html.PagedListPager(Model , page => Url.Action("Index","Server", new 
{
    searchTerm = ViewBag.searchTerm,
    page,
    sort = ViewBag.CurrentSortOrder,
    pagesize =  $("#pagesize").val()  
}),
PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(PagedListRenderOptions.ClassicPlusFirstAndLast, 
new AjaxOptions 
{
    UpdateTargetId = "ServerTable" , 
    LoadingElementId="progress2" 
}))

但是我无法使用以下$("#pagesize").val()来获取字段的值,所以如果我可以在Html帮助器中使用类似javaScript的语法,那么是否有人愿意? 感谢

1 个答案:

答案 0 :(得分:1)

答案是:没有办法!

由于:

如果不通过服务器,您无法将任何内容从javascript传递到razor。

这是因为剃刀是在服务器端执行的(因此它中的c#)。调用控制器,该类被实例化,然后调用与所请求的操作匹配的方法,然后返回视图。返回视图时,将执行视图中的c#代码。一旦所有代码都被执行,它会在响应中发出html页面,然后javascript在客户端上运行。为了让你从javascript到razor,你必须发出一个新的请求,从头开始经过这条路径,以便最终回来。

解决此问题服务器端。

更详细的信息请看这个链接:

Pass js variable or inout value to razor