我在表单中有2个提交按钮,用于标识单击了哪个按钮,属性“名称”将用于此目的
<input id="saveButton" type="submit" value="@Button.Save" name="ButtonType" />
<input id="saveAddNewButton" type="submit" value="@Button.SaveAndAddNew" name="ButtonType" />
然后SubmitForm可以获得“ButtonType”值
[HttpPost]
public ActionResult SubmitForm(MyModel model, FormCollection formCollection, string ButtonType)
{...
此外,我有一个隐藏字段来存储LastUpdateDate值,并验证记录是否已被其他用户更新,因此我使用远程验证。
MyModel.cs
[Remote("isUpdate", "Check", HttpMethod = "POST", ErrorMessage = "The record has been changed by another user.")]
public DateTime? LastUpdatedDate { get; set; }
.cshtml
@Html.TextBoxFor(model => model.LastUpdatedDate, "{0:dd/MM/yyyy HH:mm:ss.fff}", htmlAttributes: new { id="LastUpdatedDate", @type = "hidden" })
不使用远程验证,我可以获取ButtonType值。因此,我认为提交操作是以编程方式触发而不是通过单击按钮触发。任何人都可以建议如何解决这个问题?谢谢。