【问题标题】:Handling multi-forms in one View in ASP.NET MVC 4在 ASP.NET MVC 4 中的一个视图中处理多表单
【发布时间】:2013-06-24 16:45:10
【问题描述】:

您好,我的页面有问题。我在同一页面中有一个视图页面和 2 个表单。我已经看到并尝试了不同的方法(比如这个=> asp.net MVC 4 multiple post via different forms),但我注意到我的问题有所不同。

问题是我有一个主表单和另一个由 JQuery 显示的表单。在初始显示时不显示,但当他们单击链接时,第二个表单显示为模式对话框。当我单击该框中的按钮时似乎不起作用。

我需要你的帮助!

已编辑:

以下是我在应用程序中使用的代码。

.CSTHML 表单

@using (Html.BeginForm("Login2", "Account", FormMethod.Post, new { @id = "loginForm" }))
{
    <a id="submitlink" href="#" class="button button-large">Sign In</a>
}

@using (Html.BeginForm("TroubleSubmit", "Account", FormMethod.Post, new { @id = "troubleSubmitForm" }))
{
    <a id="troubleSubmitLink" href="#" class="button">OK</a>
}

JQUERY

$('a#submitlink').click(function () {
            $('#loginForm').submit();
        });

$('a#troubleSubmitlink').click(function () {
            $('#troubleSubmitForm').submit();
        });

第一个表单工作正常。但是,当我单击第二种形式的“确定”按钮时,似乎什么也没有发生。

【问题讨论】:

  • 您能发布一些代码(视图、控制器、JavaScript)吗?这将有助于我们分析和解决问题!
  • 我已更新帖子以包含代码。我希望表单提交到控制器中的不同操作。我试图对两种形式都使用相同的操作,但它似乎仍然不起作用。也许这只是我,因为我是 ASP.NET MVC 的新手。
  • 两个链接都提交#loginForm。更改 troubleSubmitlink 处理程序的表单选择器。
  • 嗨,Jasen,抱歉,这是我的错误。您会看到我一直在围绕不同的场景进行测试,以查看当我提交第二个表单时帖子的去向。我已相应地更正了代码。感谢您顺便指出!

标签: asp.net asp.net-mvc-4


【解决方案1】:

您的锚标记的 id 在 Link 上有一个大写字母 L,而您的 jquery 选择器使用小写。我相信选择器是区分大小写的。

【讨论】:

  • 感谢 bitwiser,大写字母是导致第二种形式不相加的原因。
【解决方案2】:

添加到 bitwiser 的响应中。

如果你用你的 JQuery 做这样的事情

$(document).on("click", "a[href='#Submit']", function(event) {
    $(event.currentTarget).closest("form").submit()
});

然后您可以使用您的 html 表单执行此操作(注意 href,“#Submit”):

@using (Html.BeginForm("Login2", "Account", FormMethod.Post, new { @id = "loginForm" }))
{
    <a id="submitlink" href="#Submit" class="button button-large">Sign In</a>
}

@using (Html.BeginForm("TroubleSubmit", "Account", FormMethod.Post, new { @id = "troubleSubmitForm" }))
{
    <a id="troubleSubmitLink" href="#Submit" class="button">OK</a>
}

使用上面的 jquery,您不需要为表单内的每个链接设置单独的点击处理程序。您只需将 href 设置为 #Submit,一个全局处理程序将负责提交。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-03
    • 2014-08-15
    • 2020-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多