0

ASP.NET MVC 3 Web アプリケーションを作成しました。その Web アプリケーションは、リストを返す Web サービス (asmx) を使用します。次のようなエンティティを編集するためのビューを作成しました。

@model MvcSWTest.WSRef.entity
@{
    ViewBag.Title = "Edit";
}

@using (Html.BeginForm()) {

<h2>Edit</h2>
    @:Title:@Html.TextBoxFor(x=>x.title)<br />

    @:Date:@Html.TextBoxFor(x => x.date)<br /><br />

    <input type="submit" value="Send"/>


}

「タイトル」を必須フィールドに設定したいと思います。「タイトル」が Web サービスで定義されているため、[必須] 属性を追加できません。

ビューまたはコントローラーで必須フィールドを設定する他の方法はありますか?

ありがとう

4

1 に答える 1

0

エンティティ クラスを適応できない場合は、カスタム ビュー モデルを定義する必要があります。

public class EntityModel
{
    [Required]
    public string Title { get; set; }
    public DateTime Date { get; set; }

    public EntityModel(MvcSWTest.WSRef.entity entity)
    {
        this.Title = entity.title;
        this.Date = entity.date;
    }
}

Web サービスからデータを取得した直後に、コントローラーで初期化します。as モデルを取るようにビューを調整し、コントローラーにポストバックすると、データを返送する前に、有効な値があるEntityModelかどうかが検証によってチェックされます。TitleEntityModelMvcSWTest.WSRef.entity

于 2013-10-24T15:31:38.963 に答える