【问题标题】:Pass js variable or inout value to razor将js变量或输入值传递给razor
【发布时间】:2013-04-06 03:35:29
【问题描述】:
是否可以将js变量或html值传递给razor?
@{
int n = ?????;
Html.RenderPartial("_AddressBookEdit", @Model.Addresses[n]);
}
如何从 javascript 中设置变量 n 或从隐藏字段中为其赋值?
n = $('#myvar').val()';
上面的代码不起作用。
【问题讨论】:
标签:
javascript
c#
jquery
asp.net-mvc
razor
【解决方案1】:
您在这里缺少基本的理解。我已经回答了你这个问题的一个版本,但我认为你没有误解这一点。
如果不通过服务器,您无法将任何内容从 javascript 传递到 razor。
那是因为剃须刀是在服务器端执行的(因此其中有 c#)。调用控制器,实例化该类,然后调用与请求的操作匹配的方法,然后返回视图。返回视图时,执行视图中的c#代码。执行完所有代码后,它会在响应中发出 html 页面,然后 javascript 在客户端上运行。为了让您从 javascript 到 razor,您必须发出一个新请求以从头开始通过该路径才能最终返回。
在服务器端解决这个问题。