javascript – 将js变量或inout值传递给razor

是否可以将js变量或html值传递给razor?

@{
    int n = ?????;
    Html.RenderPartial("_AddressBookEdit", @Model.Addresses[n]);
}

如何从javascript设置变量n或从隐藏字段中为其赋值?

n = $('#myvar').val()'; 

上面的代码不起作用.

解决方法:

你在这里缺少一个基本的理解.我已经回答了你这个问题的一个版本,不过我认为你没有误解这一点.

你无法通过服务器将任何东西从javascript传递到剃刀.

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

解决这个问题服务器端.

上一篇:通过JavaScript从视图MVC发布多个参数


下一篇:c#-在视图中呈现包含剃刀代码的字符串