ASP.NET MVC远程验证丢失了提交按钮名称

时间:2014-12-09 03:27:10

标签: jquery asp.net-mvc

我在表单中有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值。因此,我认为提交操作是以编程方式触发而不是通过单击按钮触发。任何人都可以建议如何解决这个问题?谢谢。

0 个答案:

没有答案