首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ViewBag.LoadJQueryOnInit和ViewBag.EnableDevExpressView是什么?

ViewBag.LoadJQueryOnInit和ViewBag.EnableDevExpressView是什么?
EN

Stack Overflow用户
提问于 2014-06-16 04:57:52
回答 1查看 31关注 0票数 1

我刚在一家公司工作,我在_Layout.cshtml上看到了这样的代码

代码语言:javascript
复制
 @if (ViewBag.LoadJQueryOnInit == true || ViewBag.EnableDevExpressView == true)
      {
            <script src="/Content/js/vendor/jquery-1.11.0.min.js"></script>
      }

我搜索了一下,但我真的不明白这段代码意味着什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-16 05:03:00

ViewBag是一个动态属性,它利用了C# 4.0中的新动态特性。

它基本上是检查ViewBag.LoadJQueryOnInitViewBag.EnableDevExpressView的值是否为真,然后呈现这个脚本标记,这将在页面上显示jquery。

如果您进入此视图的操作,您将看到这两个属性开始在那里设置,条件是truefalse

例如:

我在控制器操作中设置ViewBag

代码语言:javascript
复制
    public class TestController : Controller
    {
        //
        // GET: /Test/
        private static Users _users = new Users();
        public ActionResult Index()
        {
            ViewBag.LoadJQueryOnInit = true;
            ViewBag.EnableDevExpressView
            return View(m);
        }
}

现在,考虑到这个操作,我将检查如果其中一个是真的,请包含jQuery库,因为它们依赖于jQuery库:

代码语言:javascript
复制
@if (ViewBag.LoadJQueryOnInit == true || ViewBag.EnableDevExpressView == true)
      {
            <script src="/Content/js/vendor/jquery-1.11.0.min.js"></script>
      }

您可以在ViewBag中放入任何东西,它的类型将在运行时由VuewBag解析,您可以放置字符串、int、复杂对象,任何时候都可以。

代码语言:javascript
复制
`ViewBag.AnyKey' = "SomeValue";

您可以更详细地阅读有关它的内容:

http://weblogs.asp.net/hajan/viewbag-dynamic-in-asp-net-mvc-3-rc-2

http://www.codeproject.com/Articles/476967/WhatplusisplusViewData-cplusViewBagplusandplusTem

http://rachelappel.com/when-to-use-viewbag-viewdata-or-tempdata-in-asp.net-mvc-3-applications

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24236865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档