在Razor代码中访问Javascript变量

时间:2012-04-03 08:51:15

标签: javascript asp.net-mvc-3 razor

我想在从Razor页面调用的C#方法中传递javascript变量。我可以知道我该怎么办? (我引用此link但它对我不起作用。)

<script type="text/javascript">
    function User(userID) {
                 var redirectUrl = '@Url.Action("AddEditUser", "User")';
                 window.location.href = redirectUrl + '/' + @SomeMethod("stringvalue",**userID**);
}

这里的userID是JS对象,我想传入我的服务器端方法。 我收到的错误有“类型或命名空间定义,或期望的文件结束”和“)预期”。

编辑文本:

我的加密代码在服务器端,我想用加密数据发出AJAX请求。如何在AJAX请求中发送加密数据?

2 个答案:

答案 0 :(得分:2)

您需要进行ajax调用并解析参数服务器端,或者创建与您在razor语法中使用的函数等效的客户端。 如果您没有使用它的经验,请查找ajax教程,我听说jQuery非常好。

答案 1 :(得分:1)

你不能做这样的事情,因为剃刀在页面的渲染时间内工作。 UserID在渲染时不可用,这就是为什么你不能将它作为变量传递给服务器代码。

如果你需要在运行时调用SomeMethod,你可以为它发出ajax请求。