ASP.Net MVC操作方法编译剃刀CSHTML文件时错误(ASP.Net MVC Action

2019-07-18 06:44发布

Ë有什么办法,其中一个可以产生编译时错误,如果一个动作方法通过使用是不是在控制器中可用Html.Action

例如,让我们说我们有一个名为控制器LayoutMainPartialViewsController和这样的控制器中,我们有一个方法Header ,输出位于头管窥/Views/Shared/PartialViews/_Header.cshtml

public class LayoutMainPartialViewsController : Controller
{
    //
    // GET: /LayoutMainPartialViews/

    public ActionResult Header()
    {
        return PartialView("/Views/Shared/PartialViews/_Header.cshtml");
    }

}

然后包括这样的局部视图,我们会内剃刀打电话

@Html.Action("Header", "LayoutMainPartialViews");

如果由于某种原因,命名方法Header被重命名为Header2 ,没有给出编译时错误,但只能运行时错误。

我希望能有编译时错误尽可能运行时错误,因为它们更难以识别最小。

在另一方面,这将是有意义的调用类似?

@(new LayoutMainPartialViewsController().Header())

上面的方法返回ActionResult ,其需要被转换为字符串的相同方式Html.Action一样。

这样,如果我们改变HeaderHeader2和具有<MvcBuildViews>true</MvcBuildViews>在的csproj,提供了一种误差编译时间。

Answer 1:

T4MVC是ASP.NET MVC应用程序创建强类型,消除了在很多地方使用文字字符串的助手T4模板。

这不正是我需要和消除的“魔串”,而不是强类型标识符的使用。 如果被设置,即使在视图编译时间错误<MvcBuildViews>true</MvcBuildViews>被设置为真。

感谢@StuartLC的小费!



文章来源: ASP.Net MVC Action methods compile time errors in Razor cshtml files