无法找到AllowHtml

时间:2017-08-22 00:51:10

标签: c# asp.net-mvc

当我在视图模型中使用它时,我正在使用MVC 5并且找不到 AllowHtml 属性。请告诉我我做错了什么因为我在互联网上搜索过,好像我做的一切都正常。

The Error

编辑:添加代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace StudentGovernment_v2.Models.Bill
{
    public class BillTextEditModel
    {
        public int Id { get; set; }
        public String Name { get; set; }
        [AllowHtml]
        public String Text { get; set; }
    }
}

1 个答案:

答案 0 :(得分:0)

确保您已在web.config中引用System.Web.Mvc命名空间的正确版本以使用AllowHtmlAttribute。由于图像在该命名空间下方显示红色波浪线,请检查web.config文件(在项目根文件夹和视图文件夹中)是否引用它,具体取决于所使用的MVC版本(我在此处使用MVC 5.0作为示例):

[Project Root] \ web.config

<system.web>
    <pages validateRequest="true" ...>    
        <namespaces>
           <add namespace="System.Web.Mvc" />
           ...
        </namespaces>
    </pages>
</system.web>
...
<runtime>
    <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
    </dependentAssembly>
</runtime>

[项目根目录] \ Views \ web.config

<system.web>
   <pages ...>
   <controls>
     <add assembly="System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
   </controls>
</pages>

然后,检查References =&gt; System.Web.Mvc并查看&#34;版本&#34;部分在属性窗口中。其上显示的版本号必须与web.config中的版本号匹配:

System.Web.Mvc namespace

之后,尝试清洁&amp;重建项目,看看AllowHtmlAttribute下方的红线是否消失。