我有一個像belowe模型:禁用一些驗證,根據提交按鈕
public class AddPurchaseViewModel
{
[Required(ErrorMessage="Please enter ...")]
public string InvoiceNumber { get; set; }
[Required(ErrorMessage="Please enter ...")]
public DateTime InvoiceDate { get; set; }
[Required(ErrorMessage="Please enter ...")]
public Guid BusinessPartnerId { get; set;
}
,並查看我有兩個提交按鈕就像這樣:
<button type="submit" class="btn btn-success" name="command" value="save">Save</button>
<button type="submit" class="btn btn-warning" name="command" value="SaveAsTemp" >Save And Temp</button></li>
,並在控制器I有:
public virtual ActionResult Create(AddPurchaseViewModel purchaseViewModel, string command)
{
if (!ModelState.IsValid)
return View(purchaseViewModel);
var result = AddPurchaseStatus.AddFailed;
if (command.ToLowerWithTrim()== "Save".ToLowerWithTrim())
result = _purchaseService.Add(purchaseViewModel);
else
result = _purchaseService.AddAsTemp(purchaseViewModel);
return View();
}
我想要當用戶點擊提交按鈕Save
,用戶應該填充所有文本框在這種情況下,ModelState handel它並正常工作。
但在此情況下點擊SaveAsTemp
時不需要BusinessPartner填充。
我不想用if來一個一個的檢查,因爲我的模型比20個字段的字段多 。 有沒有辦法做到這一點?
**這將幫助你definetly ** [如何將條件所需的屬性到類屬性使用WEB API?](http://stackoverflow.com/questions/20642328/how-to-put-conditional-所需的屬性到類的財產工作與網絡a) – CodeConstruct