Html.BeginForm 内部的 Html.BeginForm MVC3

标签 html asp.net-mvc asp.net-mvc-3 razor

我有一个呈现两个局部 View 的主视图。主视图包含表单中的两个部分 View 。每个部分 View 还包含表单。所有 3 个 View 共享相同的 View 模型。我想要做的是用主视图封装来自所有 View 的数据,并用部分 View 运行特定的 Controller 操作结果。

我想知道这是否可能。调试时,我发现我的内容总是发布到主视图表单的 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>
}

最佳答案

正如 Dave 提到的,嵌套表单不是有效的 HTML。它不仅仅是 HTML5,而是任何版本的 HTML。

在某些情况下,它可能在某些浏览器中工作,但它永远无效。你永远不能指望会发生什么,即使它看起来确实有效。最好的做法是在一个页面上使用多个非嵌套表单。

您能解释一下为什么您认为需要嵌套表单吗?

关于Html.BeginForm 内部的 Html.BeginForm MVC3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14969740/

相关文章:

asp.net-mvc-3 - CaSTLe Windsor 组件依赖性和生活方式

javascript - 通过多次传递正确传递内联 onclick 字符串的参数

html - 在 div 内缩放元素,并使溢出可滚动 - HTML

html - Bootstrap 可变列高度和计数而不会中断流程

asp.net-mvc - 如何将此链接中的文字设为粗体?

c# - 在 web.config 中存储一系列值 - 使用什么数据结构

php如何在选择下拉列表中显示类别然后显示子类别?

c# - Razor 中的类型检查

html - MVC 5 razor View 以实际大小显示图像,没有失真或拉伸(stretch)

javascript - Hook jQuery 验证消息更改