将JS变量或输入值传递给Razor视图引擎

3
可以将JS变量或HTML值传递给Razor吗?
@{
    int n = ?????;
    Html.RenderPartial("_AddressBookEdit", @Model.Addresses[n]);
}

我怎样才能在JavaScript中设置变量n,或者将它从一个隐藏的字段中赋值?

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

上述代码无法正常工作。

1个回答

6
你在这里缺少一个基本的理解。我已经回答了你类似的问题,但是我并没有认为你误解了这一点。
你不能将javascript中的任何内容传递到razor中,没有经过服务器就不行。
这是因为razor是在服务器端运行的(因此其中有c#代码)。控制器被调用,该类被实例化,然后调用与请求的操作匹配的方法,最后返回视图。当视图被返回时,视图中的c#代码被执行。一旦所有代码都已执行,它会在响应中发出html页面,然后javascript在客户端上运行。如果您要从javascript到达razor,您将不得不通过该路径发出新请求,以便从开头走到结束。
在服务器端解决此问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接