3

是否可以将 js 变量或 html 值传递给剃须刀?

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

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

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

上面的代码不起作用。

4

1 回答 1

6

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

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

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

解决这个问题服务器端。

于 2013-04-13T18:18:46.133 回答