如何从JS访问ViewBag [英] How do I access ViewBag from JS

查看:740
本文介绍了如何从JS访问ViewBag的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试的方法。

通过浏览器看一下JS,在 @ ViewBag.CC 只是空白......(缺失)

  VAR C =#+@ ViewBag.CC
        变种D = $(#+@ ViewBag.CC)值。
        。变种E = $(#+@ ViewBag.CC)VAL();        变种C =@ ViewBag.CC
        。变种D = $(@ ViewBag.CC)值;
        变种E = $(@ ViewBag.CC)VAL()。


解决方案

如果您使用的是剃刀引擎模板然后执行以下操作

在您的视图写:

 <脚本> VAR myJsVariable ='@ ViewBag.MyVariable'< / SCRIPT>

更新:
一个更合适的方法是定义在总体布局为例,基本URL,Facebook的API密钥,Amazon S3的基本URL等一套配置...```

 < HEAD>
 <脚本>
   VAR的AppConfig = @ Html.Raw(Json.En code(新的对象{
    的baseUrl:Url.Content(〜),
    fbApi:从数据库得到它
    awsUrl:从数据库得到它
   }));
 < / SCRIPT>
< /头>

和您可以在客户端code如下使用它:

  myProduct.fullUrl = AppConfig.awsUrl + myProduct.path;

My attempted methods.

Looking at the JS via browser, the @ViewBag.CC is just blank... (missing)

        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();

解决方案

if you are using razor engine template then do the following

in your view write :

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

UPDATE: A more appropriate approach is to define a set of configuration on the master layout for example, base url, facebook API Key, Amazon S3 base URL, etc ...```

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

And you can use it in your client side code as follow:

myProduct.fullUrl = AppConfig.awsUrl + myProduct.path;

这篇关于如何从JS访问ViewBag的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆