1

数か月前にこれを修正しましたが、完全に頭から離れたに違いありません.MVC3サイトでデータモデルを更新したばかりなので(データベースからモデルを更新)、再び壊れています。私は取得しています

潜在的に危険な 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 に答える