【发布时间】:2016-03-08 11:07:19
【问题描述】:
我有一个像下面这样的模型:
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>
在控制器中我有:
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 处理它并且工作正常。
但在这种情况下单击 SaveAsTemp 时不需要 BusinessPartner 填写。
我不想用 If 逐一检查,因为我的模型有超过 20 个字段 . 有没有办法做到这一点?
【问题讨论】:
标签: c# asp.net-mvc