gpt4 book ai didi

c# - ASP.NET MVC3、Razor - 在 Javascript 中使用 ViewBag 或 URL 变量

转载 作者:行者123 更新时间:2023-11-29 22:26:53 25 4
gpt4 key购买 nike

我有一个在某些页面上使用标签条的 ASP.NET MVC3 项目。制表位是用 JavaScript 构建的。当用户执行操作时,我希望能够将他们重定向到打开正确选项卡的正确页面。为实现这一点,我要么需要在 URL 中传递一个变量并使用 JavaScript 获取其句柄,要么使用 ViewBag 或 TempData 传回一个变量,然后再次使用 JavaScript 获取其句柄。

所以我的问题是,如何使用 JavaScript 访问这些变量?

最佳答案

您可以在重定向时将值作为查询字符串参数传递,并在目标操作中简单地定义一个 View 模型:

public class MyViewModel
{
public string MyValue { get; set; }
}

然后有一个 anchor 或 Controller 操作将重定向到目标操作并传递 myvalue 作为查询字符串参数:

@Html.ActionLink("go to foo", "foo", new { myvalue = "foo bar" })

当链接被点击时,用户被重定向到 Foo 操作,该操作将 View 模型作为参数,以便绑定(bind)自动发生并将该 View 模型传递给相应的 View :

public ActionResult Foo(MyViewModel model)
{
return View(model);
}

在相应的 View 中,您可以对 View 模型做任何您想做的事情:

@model MyViewModel
<script type="text/javascript">
var myValue = @Html.Raw(Json.Encode(Model.MyValue));
// TODO: do something with the value
</script>

关于c# - ASP.NET MVC3、Razor - 在 Javascript 中使用 ViewBag 或 URL 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com