动态更改DataSet列的显示值

时间:2012-06-14 02:14:11

标签: c# asp.net-mvc-3 entity-framework

好的SO朋友,现在不要讨厌我知道如何正确地提出这个问题。几个月前我已经解决了这个问题,它必须完全放弃我的想法,因为我刚刚在我的MVC3站点上更新了我的数据模型(从db更新模型),它又被打破了。我正在接受

"A potentially dangerous Request.Form value was detected from the client"

错误。在谈论改变web.config中的一些设置时,已经有很多问题,但我还没有能够让它们工作。我最后一次修复它时99%确定我在这个生成的文件中改了一些东西:

[DataContract(IsReference = true)]
[KnownType(typeof(Blog))]
[KnownType(typeof(Comment))]
public partial class Post
{
    public Post()
    {
        this.Comments = new HashSet<Comment>();
    }

    [DataMember]
    public int Id { get; set; }
    [DataMember]
    public string Title { get; set; }
    [DataMember]
    public System.DateTime DateCreated { get; set; }
    //[SOMETHING HERE??]
    [DataMember]
    public string Content { get; set; }
    [DataMember]
    public string Tags { get; set; }
    [DataMember]
    public int BlogId { get; set; }
    [DataMember]
    public virtual Blog Blog { get; set; }
    [DataMember]
    public virtual ICollection<Comment> Comments { get; set; }
} 

但我不能为我的生活记住什么,我不知道该怎么去谷歌,所以我在这里,可耻的健忘......

如果你以前碰到过这个,请帮忙!

而且我知道编辑生成的代码是一件非常愚蠢的事情,但我还没弄清楚如何解决这个问题。一天只有这么多小时..

1 个答案:

答案 0 :(得分:1)

您正在寻找[AllowHtml]属性:

[AllowHtml]
[DataMember]
public string Content { get; set; }
  

我知道编辑生成的代码是一件非常愚蠢的事情,但是   我还没弄明白如何解决这个问题。

问题在于您将WCF域实体传递给视图/从视图传递,这是一种非常糟糕的设计方法。

正确的方法是使用视图模型。视图模型是您专门设计的类,以满足视图的要求,然后您只将视图模型传递给视图。然后,您将在域模型和视图模型之间进行映射。 AutoMapper是简化此任务的绝佳工具。