在提交之前,mvc从javascript设置模型值为null

时间:2017-07-03 12:18:00

标签: jquery html ajax model-view-controller

我正在做一个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。在服务器端,它获取两个属性的值。

有什么问题?

0 个答案:

没有答案