asp.net-mvc-3 – ASP.NET MVC 3,Razor Views和便携式区域
|
我正在尝试使用ASP.NET MVC 3和剃刀视图的便携式视图,因为这似乎是创建一个简单的插件架构的最佳方式。所以我有我的类库设置,我的视图位于/Views/Admin/Index.cshtml,它被设置为嵌入式资源。然后,我将该项目作为主要Web应用程序项目的依赖项。当我尝试访问管理控制器时,索引操作我收到一个无法找到该视图文件的消息(因此控件正确包含在内)。我假设它正在尝试查看主要的Web应用程序项目,而不是便携式区域的二进制文件。有没有办法让剃刀的意见与便携式区域一起工作? 解决方法我在这个问题上一直在努力一段时间,但我想我终于明白了。文件夹结构以及命名空间在项目中的名称空间是非常重要的,以便正常工作! 我在这里有一个带有嵌入式剃须刀的便携式区域的工作示例:
看看项目的结构。 该区域的名称是UserAdministration,在项目根目录中有一个UserAdministrationRegistration类,该类位于UserAdministration命名空间中。 还有一些其他对于嵌入式视图工作非常重要的事情:您必须在global.asax.cs文件的Application_Start方法中注册新的视图引擎,是否这样做? PortableAreaRegistration.RegisterEmbeddedViewEngine(); 而在你的注册类中,请确保您覆盖了需要2个参数(AreaRegistrationContext context和IApplicationBus总线)的RegisterArea方法,并调用其中的基本实现: public override void RegisterArea(AreaRegistrationContext context,IApplicationBus bus)
{
base.RegisterArea(context,bus); // <== very important!
context.MapRoute(
"UserAdministration",AreaName + "/{controller}/{action}/{id}",new { controller = "UserAdministration",action = "Index",id = UrlParameter.Optional }
);
}
如果你不调用base实现,你必须至少添加一个 RegisterAreaEmbeddedResources(); 以确保您嵌入的视图和资源已注册。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 我如何可以渲染局部视图在asp.net mvc 3
- asp.net-mvc – 获取文件内容的绝对路径
- asp.net-mvc – 页面的ValidateRequest设置可以被覆盖吗?
- asp.net – 为什么这个JSON返回“无效的JSON原语”?
- ASP.NET分页控件
- 确定ASP.Net是否正确注册
- asp.net – 什么时候应该在服务器控件上启用EnableViewStat
- asp.net – 如何实时压缩和流量到Response.Output实时?
- asp.net-mvc – 添加附加参数以表单提交
- asp.net-mvc-3 – 是否可能显示从ASP.NET MVC 3中的数据库的
- asp.net-mvc-4 – @ *在CSHTML文件中的含义是什么
- asp.net – 如何显示UTC时间作为本地时间在网页?
- asp.net – OWIN第二天拒绝身份验证cookie
- asp.net-mvc – angular js和asp.net mvc 4示例应
- asp.net-mvc – 在bootstrap模式中使用时,MVC中的
- asp.net-mvc – MVC 5中的Web API属性路由异常:
- 有人创建安装程序来部署内部asp.net Web应用程序
- asp.net – 如何正确使用RegisterForEventValida
- asp.net-mvc-4 – 没有为此对象定义的无参数构造
- asp.net-mvc – Autofac,MVC(带ActionFilters),W
