【问题标题】:Is there a way to use javaScript syntax inside Html helper有没有办法在 Html 帮助器中使用 javaScript 语法
【发布时间】:2014-05-02 15:44:06
【问题描述】:

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

@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 的语法,任何人都可以提出建议吗? 谢谢

【问题讨论】:

  • 稍微缩进你的代码,这种水平滚动真的没用。
  • 不,您不能在服务器端代码中使用 jQuery。

标签: javascript jquery razor html-helper


【解决方案1】:

答案是:没办法!

因为:

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

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

在服务器端解决这个问题。

更多详细信息请查看此链接:

Pass js variable or inout value to razor

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多