c# - 我如何从 JS 访问 ViewBag

标签 c# javascript asp.net asp.net-mvc-3 viewbag

我尝试过的方法。

通过浏览器查看 JS,@ViewBag.CC 只是空白...(丢失)

        var c = "#" + "@ViewBag.CC";
        var d = $("#" + "@ViewBag.CC").value;
        var e = $("#" + "@ViewBag.CC").val();

        var c = "@ViewBag.CC";
        var d = $("@ViewBag.CC").value;
        var e = $("@ViewBag.CC").val();

最佳答案

如果您使用的是 razor 引擎模板,请执行以下操作

在你看来写:

<script> var myJsVariable = '@ViewBag.MyVariable' </script>

更新: 更合适的方法是在主布局上定义一组配置,例如,基本 url、facebook API key 、Amazon S3 基本 URL 等...```

<head>
 <script>
   var AppConfig = @Html.Raw(Json.Encode(new {
    baseUrl: Url.Content("~"),
    fbApi: "get it from db",
    awsUrl: "get it from db"
   }));
 </script>
</head>

您可以在 JavaScript 代码中使用它,如下所示:

<script>
  myProduct.fullUrl = AppConfig.awsUrl + myProduct.path;
  alert(myProduct.fullUrl);
</script>

关于c# - 我如何从 JS 访问 ViewBag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10008023/

相关文章:

c# - 为什么管理是否可以在有符号和无符号整数类型之间进行类型转换的规则如此不一致?

Javascript 语法错误标记

Javascript getElementById 无法看到 ASP 服务器控件

javascript - 重载返回View的Controller时,如何根据ViewBag属性加载不同的内容?

c# - 是否有更快的方法来突出显示正则表达式匹配项 (RichTextBox)

c# - MVC5 异步操作结果。那可能吗?

c# - 部署 IE9 扩展

javascript - Metro 风格应用程序中 ListView 中的不同项目大小

javascript - 如何在 HTML5 中使绘图在 Canvas 上可拖动

asp.net - 带有服务器端资源字符串的 HTML 输入标签