将js变量或输入值传递给razor

Posted

技术标签:

【中文标题】将js变量或输入值传递给razor【英文标题】:Pass js variable or inout value to razor 【发布时间】:2013-04-06 03:35:29 【问题描述】:

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

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

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

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

上面的代码不起作用。

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

以上是关于将js变量或输入值传递给razor的主要内容,如果未能解决你的问题,请参考以下文章