使用'model'关键字时,不允许使用'inherits'关键字

Dil*_*165 8 c# asp.net-mvc razor razorengine

嗨,我试图从我的控制器调用RazorEmail模板,如下所示

 public EmailResult TestEmail(EmailModel model)
    {
        To.Add(model.Email);
        From = "test@test.com";
        Subject = "Testt Mail";
        return Email("EmailTemplate", model);
    }
Run Code Online (Sandbox Code Playgroud)

在视图我的模板是在

~/Views/Template/EmailTemplate.html.cshtml 

@inherits System.Web.Mvc.WebViewPage

@model W2G.Models.EmailModel
Run Code Online (Sandbox Code Playgroud)

首先,当我尝试访问时,我有以下错误

The view must derive from WebViewPage, or WebViewPage<TModel>.
Run Code Online (Sandbox Code Playgroud)

我从这里获得了解决方案/sf/answers/568927761/

但现在我收到了这个错误.请帮助我.我花了很多时间

Vol*_*hat 13

如果在mvc范围内使用view,则@inherits等同于@model

通常在你使用时会出现问题

@inherits MyWebViewPage<dynamic>
Run Code Online (Sandbox Code Playgroud)

这意味着你的@Model变量将是动态类,如果你使用的话

@model dynamic
Run Code Online (Sandbox Code Playgroud)

我没有项目和实现的所有视图,但尝试删除继承(它应该从您在Views文件夹中保存的web.config获取它)

但是当你在外面使用时(所以剃须刀不能读你web.config)你应该指定基类

@inherits System.Web.Mvc.WebViewPage<W2G.Models.EmailModel>
Run Code Online (Sandbox Code Playgroud)

阅读这篇文章

  • 或者你的cshtml文件中的某个地方你写的是"@model"而不是"@Model" (2认同)