MVC 4 Javascript表单提交问题 [英] MVC 4 Javascript form Submit issue
本文介绍了MVC 4 Javascript表单提交问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好
我有一个问题,我在完成javascript函数时提交表单。
提交有效,但它丢失了我模型中的值。
< script type =text / javascript>
函数changeSubjectPhaseForStudent(subjectID,studentID){
var theForm = document.getElementById(frmStudent);
theForm.submit();
}
< / script>
@model StudentController.StudentMetrics
@using(Html.BeginForm(Student,Student,Model,FormMethod.Get,new {id =frmStudent} ))
{
@ Html.DropDownListFor(x => x.PhaseID,(List< SelectListItem>)ViewBag.Phases,new {onchange = string.Format(changeSubjectPhaseForStudent({0},{ 1}),Model.SubjectID,Model.StudentID),id =cmbPhase})
}
Under正常情况下,模型在提交回控制器时会保留其值。只有当表单通过上面的jscript提交时,它才会返回几个值,而不是全部。
谁能看到我做错了什么? ??
提前谢谢。
解决方案
在表单中,你应该添加模型值,就像这样:
@ Html.HiddenFor(m => m.SubjectID)
@ Html.HiddenFor(m => m.StudentID)
Hi guys
I have an issue where I submit my form on completion of a javascript function.
The submit works, but it loses the values in my model.
<script type="text/javascript"> function changeSubjectPhaseForStudent(subjectID, studentID) { var theForm = document.getElementById("frmStudent"); theForm.submit(); } </script> @model StudentController.StudentMetrics @using (Html.BeginForm("Student", "Student", Model,FormMethod.Get, new { id = "frmStudent" })) { @Html.DropDownListFor(x => x.PhaseID, (List<SelectListItem>)ViewBag.Phases, new { onchange = string.Format("changeSubjectPhaseForStudent({0},{1})", Model.SubjectID, Model.StudentID), id = "cmbPhase" }) }
Under normal circumstances, the model retains its values when it submits back into the controller. It''s only when the form is submitted via the above jscript that it returns only a few values, not all.
Can anyone see what I am doing wrong???
Thanks in advance.
解决方案
Inside your form, you should add the model values, like this:
@Html.HiddenFor(m => m.SubjectID) @Html.HiddenFor(m => m.StudentID)
这篇关于MVC 4 Javascript表单提交问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文