小编lea*_*iti的帖子

在MVC4上@model for _layout.cshtml?

我想知道是否有办法为_layout.cshtml文件指定一个模型,我已经看到很多帖子与人们回答"替代"解决方案的基本相同的问题,不是说它不可能也不显示我们究竟能够实现这一点

有一些webforms的经验,我一直在尝试迁移到MVC,经常发现自己有这样的问题,我找到了这个网站:http://blog.bitdiff.com/2012/05/sharing-common-view-model -data-in.html 部分解决了我的问题,但是即使他们没有用_model绑定他们的_layout.cshtml,据我所知,如果我想访问SharedContext,我必须在每个视图上指定一个模型,如果我错了,请纠正

我想要做的是在_l​​ayout.cshtml上声明一个"@model Namespace.MyModel",这样它就可以自己检索它的信息,而不必为从LayoutModel继承的每个视图实现一个模型.

*我希望我很清楚,基本上,我想知道如何在_layout.cshtml上声明@model标签,以便它可以访问自己的模型

我之前链接的解决方案(即使它没有链接到我的问题)我必须做:@(((BaseController)ViewContext.Controller).Context.Property)获取共享信息,如果我可以简单地声明(和使用)@model,我可以通过做类似的事情来完成同样的事情:@ Model.Property*

你可以看到,我正在努力将我已经知道的任何东西从webforms迁移到MVC,这对我来说很难,因为我必须采用与我习惯完全不同的某些做法

提前致谢

.net asp.net asp.net-mvc-3 asp.net-mvc-4

8
推荐指数
2
解决办法
1万
查看次数

优化的捆绑包在从网站请求时返回404

我设置时遇到这个奇怪的问题:

BundleTable.EnableOptimizations = true;
Run Code Online (Sandbox Code Playgroud)

当我尝试打开我的网站时,它无法加载,当我打开Chrome控制台时,我看到以下消息:

GET/localhost/bundles/scripts/angularjs/commonmodules?v = 13-uWpwzN3U6kiHVssXRdpywHxrn09twvYKwoDVN3SU1 404(未找到)

但是,如果我尝试打开chrome控制台上显示的链接,它加载得很好,换句话说,当我尝试直接打开它时找到链接,但是当页面尝试时,服务器(IIS 7.5)返回404通过标签链接它.

有没有人经历过这种奇怪的行为?

我的包的虚拟路径不映射任何现有文件或目录,我使用以下代码包含它们:

var myBundle= new ScriptBundle("~/bundles/scripts/angularjs/bootstrapping");
bootstrapping.Include("~/app/app.js")
    .Include("~/app/config.js")
    .Include("~/app/config.exceptionHandler.js")
    .Include("~/app/config.route.js");
bundles.Add(bootstrapping);
Run Code Online (Sandbox Code Playgroud)

我已经尝试在web.config的system.webServer上添加以下行:

<modules runAllManagedModulesForAllRequests="true">
    <remove name="BundleModule" />
    <add name="BundleModule" type="System.Web.Optimization.BundleModule" />
</modules>
Run Code Online (Sandbox Code Playgroud)

我不确定这可能是相关的,但我在这个网站上使用Umbraco v7,这只有在我将EnableOptimizations设置为"true"时才会发生.

asp.net asp.net-mvc-4 bundling-and-minification umbraco7

6
推荐指数
1
解决办法
1731
查看次数