我正在做一个MVC 5应用程序。我有 reach chr nr company
1: 2 A, B, C 3 Company A
2: 2 A, B, C 3 Company B
。
在提交前调用函数进行相同验证时查看。
Ajax.BeginForm
我有一些模型属性的@using (Ajax.BeginForm("Method", "Controller", ajaxOpts))
{
}
@{
AjaxOptions ajaxOpts = new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
OnSuccess = "processResponse",
OnBegin = "StartValidation"
};
}
字段。
在Hidden
函数上,我为这些属性分配了一些值。
StartValidation
@Html.HiddenFor(model => model.Prop1, new { @id = "Prop1" })
@Html.HiddenFor(model => model.Prop2, new { @id = "Prop2" })
当我提交视图和验证功能时,会将值123分配给Prop1隐藏字段。
但是,在function StartValidation() {
$('#Prop1').val(13);
$('#Prop2').val(123);
alert($('#Prop1').val());
return true;
}
的服务器端Method
上,Prop1和Prop2为空。
在服务器端看起来像这样
Controller

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Save(AlertView model)
{
}
和model.Prop1
为空。
我认为问题在于我无法在提交前分配价值。如果我在其他情况下通过JavaScript函数分配值,例如model.Prop2
。在服务器端,它获取两个属性的值。
有什么问题?