是否可以将js变量或html值传递给razor?
@{
int n = ?????;
Html.RenderPartial("_AddressBookEdit", @Model.Addresses[n]);
}
如何从javascript设置变量n或从隐藏字段中为其指定值?
n = $('#myvar').val()';
上述代码不起作用。
答案 0 :(得分:5)
你在这里缺少一个基本的理解。我已经回答了你对这个问题的一个版本,但我认为你没有误解这一点。
如果不通过服务器,您无法将任何内容从javascript传递到razor。
这是因为剃刀是在服务器端执行的(因此它中的c#)。调用控制器,该类被实例化,然后调用与所请求的操作匹配的方法,然后返回视图。返回视图时,将执行视图中的c#代码。一旦所有代码都被执行,它会在响应中发出html页面,然后javascript在客户端上运行。为了让你从javascript到razor,你必须发出一个新的请求,从头开始经过这条路径,以便最终回来。
解决此问题服务器端。