首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Html.BeginForm MVC3内部的Html.BeginForm

Html.BeginForm MVC3内部的Html.BeginForm
EN

Stack Overflow用户
提问于 2013-02-20 07:42:48
回答 2查看 13.5K关注 0票数 2

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

我想知道这是不是可能的。在调试时,我发现我的内容总是发布到主视图窗体的HTTPPost中。我对每个表单都有相应的提交按钮。对于代码发布,很抱歉,它出来的时候都是分开的。

主视图:

代码语言:javascript
复制
@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

代码语言:javascript
复制
@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>
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-20 08:34:32

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

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

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

票数 7
EN

Stack Overflow用户

发布于 2013-02-20 07:48:32

不能,您不能有嵌套表单。抱歉的。

请参阅HTML5 guidelines

“流内容,但没有表单元素后代”

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14969740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档