@ HTML.DisplayFor正在显示不需要的标记

时间:2014-02-17 11:00:13

标签: c# .net model

我是Entity Framework的新手。当我尝试使用@ HTML.DisplayFor进行显示时。它显示额外的标记,在HTML页面中显示为空白。

示例:“测试文字”显示为<Test> <td> </Text> 示例代码如下所示。

模型

public class ThirdParty
{

    public string ProductId { get; set; }
    public List<string> Options { get; set; }
    public List<string> InputVariables { get; set; }
}

public class ValidationMessage
{

    public string IsRequired { get; set; }
    public List<string> InputVariables { get; set; }
}
  public class LicenseBase
    {
        public string Name { get; set; }
        public string Category { get; set; }
        public List<BaseModule> BaseModules { get; set; }
        public List<ThirdParty> ThirdParty { get; set; }
        public List<string> InputVariables { get; set; }
        public List<ValidationMessage> ValidationMessages { get; set; }
        public List<JPT> JPTProducts { get; set; }
    }
public class BaseModule
{

    public string Category { get; set; }
    public string Name { get; set; }
}

public class Product
{

    public LicenseBase License { get; set; }
    public List<LicenseBase> SubLicenses {get;set;}        

}

当我尝试在index.chtml

中显示BaseModule时出现问题

1 个答案:

答案 0 :(得分:3)

@Html.DisplayFor()将根据属性类型呈现标记模板,该类型说明了不需要的标记的来源。

来自MSDN:

  

返回由Expression表达式表示的对象中每个属性的HTML标记。

source

您可能想要使用@Html.Raw()

之类的内容