我有以下观点
<form action="/Questionnaire/Submit" method="post">
<%:"UserName : "%>
<%=ViewData["UserName"]%>
<%=Html.TextBox("test",ViewData["tt"])%>
<p />
<%:"Phone Number :"%>
<%=ViewData["PhoneNumber"]%>
<p />
<%
foreach (var q in Model)
{
Html.RenderPartial("Question", q);
}
%>
<input type="submit" name="submit" value="submit" />
</form>
呈现以下部分视图
<% using (Html.BeginForm("Submit", "Questionnaire", FormMethod.Post))
{%>
<%:"Question Number "%>
<%=Model.QuestionNumber%>
<%:" "%>
<%=Model.Body%>
<%:" "%>
<%
foreach (var option in Model.Options)
{%>
<p/>
<%=Html.RadioButton(option.QuestionId.ToString(), (option.IsSelected) )%> <%= option.OptionBody%>
<%
}
}
%>
问题是,表单不提交,当我从主视图中删除“foreach”语句时,它可以正常工作
我的目标,是让更新的模型(从主视图和部分视图)稍后将其保存在DB中
答案 0 :(得分:2)
您的主视图包含一个表单,然后您的局部视图也会在每次呈现时创建一个表单,因此您将留下一个包含多个表单但只有一个“提交”按钮的页面。
我不是100%确定您需要做什么,但我会尝试从部分中删除“BeginForm
”调用,看看是否能解决问题。