在@section mvc中提交按钮不起作用

时间:2014-08-23 18:27:29

标签: asp.net-mvc layout razor submit html.beginform

我遇到了这个问题而无法找到解决方案。 我在@section中放了一个提交按钮,所以我可以把它放在布局页面的div中。但问题是提交按钮在该部分内部不起作用。

以下是视图,提交按钮的部分几乎位于页面底部

@{
var vd = new MvcVerkoop.Models.VerkoopsData();
var data = vd.KoperData; }

@using (Html.BeginForm()){
@Html.ValidationSummary(true)

<fieldset>
    <legend>Kies de nodige velden</legend>


    <table class="velden">

        @foreach (string var in data)
        {

            <tr>
                <td>
                    @Html.CheckBox(var)
                    <label for="Naam">@var</label>
                </td>
                <td>
                    @Html.CheckBox("Verplicht" + @var)
                    <label for="Verlpicht">Verplicht veld</label>
                </td>
            </tr>

        }


        <tr>
            <td>
                <div id="input1" class="clonedInput">

                    @Html.TextBox("extra1")
                </div>

            </td>

            <td>
                <div id="inputCheck1" class="clonedInputCheck">
                    @Html.CheckBox("checkVerplicht1")

                    <label for="checkVerplicht1" id="labelVerplicht1">Verplicht veld</label>
                </div>

            </td>
        </tr>

    </table>

    <div>
        <input type="button" id="btnAdd" value="+" />
        <input type="button" id="btnDel" value="-" />
    </div>

    @section Bottom{

        <input id="btnSubmit" type="submit" value="Doorgaan" />
    }

</fieldset>}

当提交按钮在外面时,该部分工作正常。

编辑:布局代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
</head>
<body>
<header>
        <div class="top-menu">

        </div>
</header>
<div id="body">
    <div class="centre-box">
        <div class="centre-banner">
        </div>

        @RenderSection("featured", required: false)
    <section class="content-wrapper main-content clear-fix">
            @RenderBody()
        </section>
        <div class="centre-footer">
            @RenderSection("Bottom", false)
        </div>
    </div>

</div>
<footer>
        <div class="content-wrapper">
            <div class="float-left">
                <p>© @DateTime.Now.Year Code Express</p>
            </div>
        </div>
    </footer>
</body>
</html>

有人能帮助我吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

我知道这是一个旧线程,但是我遇到了同样的问题,我认为我会发布解决方案,这样人们就不必遍历其他帖子即可解决问题。

在开始表单中,设置ID

@using (Html.BeginForm(htmlAttributes:new { id = "mainForm" }))

然后在提交按钮上将form属性设置为id的值

<input id="btnSubmit" type="submit" value="Doorgaan" form="mainForm" />

那为我解决了。

答案 1 :(得分:-1)

我只能假设当按钮位于要在表单外部呈现的部分内时。

我假设您想将按钮放在该部分内,以便您可以在多个表单中共享该按钮?如果是这样,您必须使用JavaScript在按钮的click事件上挂钩提交,因为该按钮不再是表单的一部分。

然后你也必须联系一个事件,当有人点击进入时也提交表格。

我只想为您要提交的每个表单创建一个不同的按钮。麻烦少了很多。