加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.Net MVC Action方法编译Razor cshtml文件中

发布时间:2020-12-15 22:31:01 所属栏目:asp.Net 来源:网络整理
导读:e如果通过使用 Html.Action控制器中没有操作方法,有没有办法可以产生编译时错误? 例如,假设我们有一个名为LayoutMainPartialViewsController的控制器,在这样的控制器中,我们有一个方法Header,它输出位于/Views/Shared/PartialViews/_Header.cshtml的Header
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提示!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读