我想在 @Url.Action 方法中传递一个 javascript 变量作为路由参数。
我喜欢将 screenmode javascript 变量作为路由参数传递给我的操作方法。
我有一个具有 ScreenMode 枚举属性的视图模型,基于它我应该在 Ajax 中调用一个动作。我还需要传递一个 javascript 变量作为路由的参数。
这是我尝试并得到编译错误的方法。
当前上下文中不存在名称“screenMode”
$("#role-detail-form").submit(function (e) {
if ($(this).valid()) {
var screenMode = 0;
@{
if (Model.ScreenMode == UI.ViewModel.ScreenMode.New)
{
<text>
screenMode =2;
</text>
}
}
$.post('@Url.Action("SaveRoleDetail", new { mode=screenMode})',
$(this).serialize(), function (data) {
$("#role-detail").html(data);
$.validator.unobtrusive.parse($("#role-detail"));
});
}
e.preventDefault();
});
我的行动是
public ActionResult SaveRoleDetail(RoleModel viewModel, ScreenMode screenMode)
{
}