我有一个呈现两个部分视图的主视图。主视图包含表单中的两个部分视图。每个部分视图还包含表单。所有3个视图共享相同的视图模型。我想要做的是用主视图封装所有视图中的数据,并使用局部视图运行特定的控制器操作结果。Html.BeginForm中的Html.BeginForm MVC3
我想知道这是否可能。调试时,我发现我的内容总是发布到主视图窗体的HTTPPost。我相应地为每个表单提交按钮。对于代码发布感到抱歉,它出现了所有分裂。
主视图:
@using (Html.BeginForm("Main", "Registration", FormMethod.Post,
new { @class="mainform" }))
{
<form>
<fieldset>
<div id ="option1" class="conglomerate">
@Html.Partial("_GetBusiness")
</div>
<div id ="option2" class="dealership">
@Html.Partial("_GetLocation")
</div>
<button type="submit" value="Create" class="buttonBlue" id="">
<span>Create a new dealer</span>
</button>
</fieldset>
</form>
部分1
@using (Html.BeginForm("CreateBusiness", "Business", FormMethod.Post,
new { @class="buisinessform" }))
{
<form>
<div class="editor-field">
@Html.DropDownListFor(m =>m.BusinessId, new SelectList(Model.Businesses,
"BusinessId", "BusinessName"), "")
</div>
<label>Your company not listed? Register yours below:</label>
<div class="editor-label">
@Html.LabelFor(model => model.BusinessName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.BusinessName)
@Html.ValidationMessageFor(model => model.BusinessName)
</div>
<button type="Button" value="" class="buttonBlue"id="TestSubmit">
<span>Add Dealer</span>
</button>
<div class ="confirm">
<button type="submit" value="Create" class="buttonBlue" id="">
<span>Click here to confirm dealer addition</span>
</button>
</div>
</form>
}
阿门。也许是一个很好的附加问题,这些部分可以封装窗体而不是嵌套窗体吗? – 2013-02-20 02:26:16
谢谢你们,我不太了解这个概念。是的,这些都是我需要的另一种方式。哪个是将从两个部分视图获得的ID值传递回视图模型。 – WiseGuy 2013-02-20 02:42:59
@BenjaminRandal - 您可以通过简单地将所有数据作为单个帖子发布到一起来实现。 – 2013-02-20 03:26:31