1

几个月前我已经修复了这个问题,它一定是完全忘记了,因为我刚刚在我的 MVC3 站点上更新了我的数据模型(从 db 更新模型),它又坏了。我得到了

从客户端检测到潜在危险的 Request.Form 值

错误。关于更改 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; }
} 

但我这辈子都不记得什么了,我不知道要在网上搜索什么词。

而且我知道编辑生成的代码是一件很愚蠢的事情,但我还没有想出如何解决这个问题。

4

1 回答 1

1

您正在寻找[AllowHtml]属性:

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

而且我知道编辑生成的代码是一件很愚蠢的事情,但我还没有想出如何解决这个问题。

问题是您将 WCF 域实体传入/传出视图,这是一种非常糟糕的设计方法。

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

于 2012-06-14T05:20:26.287 回答