asp.net-mvc – ASP.Net MVC Action方法编译Razor cshtml文件中的时间错误
|
e如果通过使用 Html.Action控制器中没有操作方法,有没有办法可以产生编译时错误? 例如,假设我们有一个名为LayoutMainPartialViewsController的控制器,在这样的控制器中,我们有一个方法Header,它输出位于/Views/Shared/PartialViews/_Header.cshtml的Header Partial View. public class LayoutMainPartialViewsController : Controller
{
//
// GET: /LayoutMainPartialViews/
public ActionResult Header()
{
return PartialView("/Views/Shared/PartialViews/_Header.cshtml");
}
}
然后包括这样的局部视图,我们将在Razor内部调用 @Html.Action("Header","LayoutMainPartialViews");
如果由于某种原因,名为Header的方法被重命名为Header2,则不会给出编译时错误,只会给出运行时错误. 我希望能够编译时错误,以尽可能减少运行时错误,因为它们更难以识别. 换句话说,打电话是否有意义? @(new LayoutMainPartialViewsController().Header()) 上面的方法返回一个ActionResult,它需要像Html.Action一样转换为String. 这样,如果我们将Header更改为Header2并且具有< MvcBuildViews> true< / MvcBuildViews>在csproj中,编译时提供错误. 解决方法T4MVC是ASP.NET MVC应用程序的T4模板,它创建强类型帮助程序,消除了在许多地方使用文字字符串.这完全符合我的要求,并删除了“魔术字符串”的使用,而不是强类型标识符.如果< MvcBuildViews> true< / MvcBuildViews>,即使在视图中也提供编译时错误.设置为true. 感谢@StuartLC提示! (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.net RequiredFieldValidator不阻止回发
- asp.net-mvc-2 – ASP.NET MVC2 Ninject NLog(shared hosti
- asp.net-core – 如何将IHttpContextAccessor注入到Autofac
- ASP.NET TextBox LostFocus事件
- asp.net-mvc – 如何获取Azure网站上的错误详细信息
- .net – 应用程序池回收时Cache会发生什么?
- ASP.NET压力测试
- asp.net – 如何扩展aspnet成员身份验证表?
- asp.net – 在几个网页(.cshtml文件)中使用Razor @function
- asp.net-mvc – 谁设置HttpContext.User.Identity的IsAuthe
- asp.net-mvc-3 – insert命令需要插入数据绑定设
- asp.net-mvc – 更新到MVC 5后,iframe不再有效
- asp.net-mvc – @ Html.DropDownListFor如何添加
- 如何杀死会话或会话ID(ASP.NET/C)
- 混合WebForms/ASP.NET MVC
- asp.net – 拒绝直接访问文件夹(仅允许通过应用程
- asp.net-mvc – MVC“添加控制器”是“无法检索元
- asp.net-web-api – 使用apicontroller对odata E
- asp.net – 以编程方式编辑Web.config
- asp.net-mvc – 具有服务层和存储库层的ASP.NET
