【问题标题】:Read value from Web config,pass it to controller, put it in a viewbag and then read the values in View?从 Web 配置中读取值,将其传递给控制器​​,将其放入视图包中,然后读取视图中的值?
【发布时间】:2011-10-14 04:32:01
【问题描述】:

我有一个简单的要求,我有 2 个日期值,我将在我的视图中使用(现在硬编码)从 Web 配置文件中读取。 我收到一些输入,说这些值必须传递给控制器​​,将它们放入视图包中,然后在视图中读取。 由于这是我第一次在 MVC 上工作,请帮助我了解如何进行此操作。 每个地方(Web 配置、控制器和视图)中的详细代码都会有所帮助。

提前致谢, 阿达什

【问题讨论】:

    标签: asp.net-mvc-3 web-config viewbag


    【解决方案1】:

    通过创建您自己的 ControllerFactory 将 Unity 配置为 IOC http://weblogs.asp.net/shijuvarghese/archive/2008/10/24/asp-net-mvc-tip-dependency-injection-with-unity-application-block.aspx

    然后在启动时将你的 web.config 设置注册到你的设置类的一个对象中的统一容器中,然后你的控制器可以在构造函数中接受它,它会自动被注入。

    public class HomeController : Controller
    {
    
        WebConfigSettings settings;
        public HomeController(WebConfigSettings settings) // <-- coming via IOC
        {
                this.settings = settings;
        }
    
        public ActionResult Index()
        {
    
            ViewBag.SomeSetting = settings.SomeSetting;
    
            return View();
        }
    }
    

    然后,您可以轻松地设置视图包中的值。

    【讨论】:

    • 你能告诉我一个简单的例子,我将一个值存储在一个视图袋中(在控制器中),然后从视图中读取它吗?对这个地区来说很新。
    • 谢谢,我如何在视图中访问它(在 cshtml 文件中),类似于@Viewbag.somesetting?
    猜你喜欢
    • 2011-05-12
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多