9

您好我正在尝试从我的控制器调用 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

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

4

1 回答 1

14

如果您在 mvc 范围内使用视图,@inherits 等效于 @model

使用时一般会说

@inherits MyWebViewPage<dynamic>

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

@model dynamic

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

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

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

请阅读这篇文章

于 2014-01-11T11:21:14.280 回答