我有一个ASP.NET MVC3项目,它在某些页面上使用标签条。制表位是用JavaScript构建的。当用户执行操作时,我希望能够将正确的选项卡打开,将它们重定向到正确的页面。为了实现这一点,我需要在URL中传递一个变量并使用JavaScript获取它的句柄,或者使用ViewBag或TempData传回一个变量,然后再使用JavaScript获取它的句柄。
所以我的问题是,如何使用JavaScript访问这些变量?
答案 0 :(得分:2)
您可以在重定向时将值作为查询字符串参数传递,并且在目标操作中只需定义视图模型:
public class MyViewModel
{
public string MyValue { get; set; }
}
然后有一个锚点或控制器操作,它将重定向到目标操作并将myvalue
作为查询字符串参数传递:
@Html.ActionLink("go to foo", "foo", new { myvalue = "foo bar" })
当点击链接时,用户被重定向到Foo操作,该操作将视图模型作为参数,以便绑定自动发生并将此视图模型传递到相应的视图:
public ActionResult Foo(MyViewModel model)
{
return View(model);
}
并在相应的视图中,您可以使用视图模型执行任何操作:
@model MyViewModel
<script type="text/javascript">
var myValue = @Html.Raw(Json.Encode(Model.MyValue));
// TODO: do something with the value
</script>