asp.net-mvc-4 – PartialView()不返回带下划线的View
发布时间:2020-12-16 07:16:39 所属栏目:asp.Net 来源:网络整理
导读:TemplateController: 这工作: return PartialView("_Create"); 但这不起作用: return PartialView(); asp.net mvc约定实际应该检查一个View文件夹,其名称为controller = “模板”并检查查看与action =相同的名称“创建”. 这对返回View()有效.为什么返回P
TemplateController:
这工作: return PartialView("_Create"); 但这不起作用: return PartialView(); asp.net mvc约定实际应该检查一个View文件夹,其名称为controller => “模板”并检查查看与action =>相同的名称“创建”. 这对返回View()有效.为什么返回PartialView()不仅仅考虑下划线? 解决方法
这个答案专门针对ASP.NET MVC5.可能需要稍微修改才能与其他版本的MVC一起使用,但通常应该适用.
要让返回部分(模型)尊重部分名称的下划线,您需要一个自定义视图引擎.幸运的是,这是一个非常简单的自定义视图引擎. public class CustomRazorViewEngine : RazorViewEngine { public CustomRazorViewEngine() { var underScored = new[] { "~/Views/{1}/_{0}.cshtml","~/Views/{1}/_{0}.vbhtml" } PartialViewLocationFormats = underScored.Union(PartialViewLocationFormats).ToArray(); } } 以下格式是共享视图的默认模式: ~/Views/Shared/{0}.cshtml ~/Views/Shared/{0}.vbhtml 如果您愿意,也可以包含替代品.如果您特别想要仅使用下划线提供文件,请删除联合并仅使用:PartialViewLocationFormats = underScored; 这是剃刀视图引擎,我认为它可以与webforms视图引擎相媲美,如果这是您的首选引擎. 最后,您需要将此注册为视图引擎: public class Startup { public void Configuration(IAppBuilder app) { //View Engines ViewEngines.Engines.Remove(ViewEngines.Engines.Single(x => x is RazorViewEngine)); ViewEngines.Engines.Add(new CustomRazorViewEngine()); Startup类特定于MVC5,这在版本之间会略有不同.您可以将App_Start文件与webactivator一起使用,也可以将global.asax用于其他版本. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET安全最佳实践
- asp.net-mvc – 在asp.net mvc主页面的导航列表中添加“活动
- ASP.NET vs. Silverlight
- Asp.net core中间件实现原理及用法解说
- asp.net-mvc – ASP.NET MVC:使浏览器缓存图像从动作
- asp.net-mvc – Asp.Net MVC 2 Html.TextBoxFor为模型的Dat
- ASP.NET基于Ajax的Enter键提交问题分析
- Asp.net+jquery+.ashx文件实现分页思路
- asp.net-mvc – 使用AppFabric缓存在MVC SessionState中使用
- asp.net – Xdocument不打印声明
推荐文章
站长推荐
- Asp.Net App Pool重叠回收时间?
- asp.net – 如何使用比较验证器验证时间?
- asp.net-mvc – 具有属性列表的ASP.Net MVC Html
- 自KB4338419以来,无法再从Classic ASP创建C#COM对
- asp.net-mvc – ModelState.IsValid总是返回fals
- asp.net-mvc – 如何在ASP.NET MVC中测试动作过滤
- asp.net-mvc – ASP MVC:为什么我的视图中看不到
- asp.net-mvc-3 – @ Html.ActionLink和@ Html.Di
- ASP.net中的字符串比较(C#)
- 如何实现ASP.Net Forms身份验证
热点阅读