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

时间:2014-01-11 09:43:24

标签: 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);
    }

在视图中我的模板位于

~/Views/Template/EmailTemplate.html.cshtml 

@inherits System.Web.Mvc.WebViewPage

@model W2G.Models.EmailModel

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

The view must derive from WebViewPage, or WebViewPage<TModel>.

我从这里得到了解决方案https://stackoverflow.com/a/8127539/2318354

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

1 个答案:

答案 0 :(得分:13)

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

一般在使用

时出现问题
@inherits MyWebViewPage<dynamic>

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

@model dynamic

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

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

@inherits System.Web.Mvc.WebViewPage<W2G.Models.EmailModel>

阅读此article please