データ注釈を介して必須に設定されているプロパティがあります。これは作成フォームでは問題なく機能しますが、編集フォームではプロパティを不要にしたいと考えています。どうすればそれを行うことができますか?
質問する
648 次
1 に答える
2
作成ビューと編集ビュー用に個別のビュー モデルを作成できます。共通のプロパティを共通のクラスに保持し、その共通のクラスからこれら 2 つのビュー モデルを継承できます。
public class CustomerViewModel
{
public string Name { set;get;}
public string Location { set;get;}
}
public class CreateCustomer :CustomerViewModel
{
[Required]
public string LastJobTitle { set;get;}
}
public class EditCustomer :CustomerViewModel
{
public string LastJobTitle { set;get;}
}
そして、これらを Action メソッドで次のように使用できます
public ActionResult Create()
{
var createVM=new CreateCustomer();
return View(createVM);
}
public ActionResult Edit(int id)
{
var editVM=new EditCustomer();
var customerModel=repositary.GetCustomer(id);
editVM.LastJobTitle=customerModel.LastJobTitle;
//set other properties also
return View(createVM);
}
したがって、作成ビューはクラスに強く型付けされCreateCustomer
、編集ビューはクラスに強く型付けされEditCustomer
ます。
作成.cshtml
@model CreateCustomer
Edit.cshtml
@model EditCustomer
于 2012-11-01T22:45:43.973 に答える