c# - 使用 'inherits' 关键字时不允许使用 'model' 关键字

标签 c# asp.net-mvc razor razorengine

您好,我正在尝试从我的 Controller 调用 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

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

最佳答案

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

一般使用时会说话

@inherits MyWebViewPage<dynamic>

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

@model dynamic

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

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

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

阅读此 article please

关于c# - 使用 'inherits' 关键字时不允许使用 'model' 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21060767/

相关文章:

c# - 在 CloseReason.UserClosing 表单上显示关闭对话框 2 次

c# - 如何在 maven 下编译 C# 解决方案

c# - 如何在具有一个不同值的列表中查找相同的类

asp.net-mvc - 带有 ioc 的 asp.net mvc --> 使用 BaseController 避免构造函数汤

asp.net-mvc - ASP.NET MVC : How do I send "text/xml" to all browsers but IE?

c# - 如何从整数列表中设置选择元素的值和文本值

c# - 在运行时更改 Windows 窗体窗体的宽度

asp.net-mvc - MVC 验证 : Service Layer or Data Annotations

c# - 每页使用多个 @Html.Action() 是否很昂贵?

vb.net - VB 中 .NET MVC3 Razor View 中的命名空间引用?