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

Pass js variable or inout value to razor

本文关键字:razor 值传 输入 js 变量      更新时间:2023-09-26

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

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

我如何设置变量n从javascript或分配它从一个隐藏的字段值?

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

你在这里错过了一个基本的理解。我已经回答了你这个问题的一个版本,但是我不认为你误解了这一点。

如果不经过服务器,你就不能把任何东西从javascript传递到razor。

这是因为razor是在服务器端执行的(因此使用了c#)。调用控制器,实例化类,然后调用与请求的操作匹配的方法,然后返回视图。当返回视图时,视图中的c#代码将被执行。一旦所有代码执行完毕,它就会在响应中发出html页面,然后在客户端上运行javascript。如果你要从javascript转到razor,你就必须重新发出一个请求,从头遍历这条路径,以便最终返回。

服务器端解决此问题