我正尝试像这样使用 View Bag 从我的 Controller 操作发送一个字符串值到我的 View
public ActionResult Services()
{
ViewBag.TabVal = "EarnMoney";
return View();
}
在我看来,我正在将 View Bag 值分配给这样的 JavaScript 变量
@section scripts{
<script>
var tab = @ViewBag.TabVal;
console.log(tab);
</script>
}
在我的控制台上我得到这个值
<li id="EarnMoney"> EarnMoney</li>
在我看来这是一个 HTML 元素。
为什么它在我的 View 中选择元素而不返回字符串?这真的很奇怪。
最佳答案
您直接将 viewbag 值输出到 javascript,没有引号,所以它不是 javascript 中的字符串。 从服务器生成的 HTML 如下所示:
var tab = EarnMoney;
因为有一个带有那个 id 的 dom 元素,所以它选择那个元素来代替
像这样将您的 ViewBag 输出放在引号中:
var tab = "@ViewBag.TabVal";
关于javascript - .Net MVC 将 ViewBag 值分配给 JavaScript 脚本变量问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31449473/