【问题标题】:HTML Button Works IntermittentlyHTML 按钮间歇性工作
【发布时间】:2020-06-12 22:24:32
【问题描述】:

基本上正如标题所说。该按钮间歇性地工作。有时它实际上会命中我的代码,有时它只是坐在那里,什么也不做,就像一条死鱼。当它像这样出现问题时,它不会在 VS 中达到我的断点。我确实必须刷新它,它会再次工作。

这是我的 HTML -

  @if (User.Identity.IsAuthenticated)
    {
        @using (Html.BeginForm("Form", "Home"))
        {
            <div class="contain">

                <form>
                  *insert a bunch of form fields here, I don't think this is relevant, 
                  but if you need to see it, leave a comment*

                   <div class="row centered">
                        <div class="form-group">
                            <button class="btn btn-outline-primary" type="submit" value="Submit">Create Activity</button>
                        </div>
                    </div>
                </form>
      }
}

我不会发布模型,因为当您单击按钮时它甚至没有达到我的断点。这都是客户端。

有什么想法吗?谢谢

编辑:见@HereticMonkey 的评论。它为我解决了这个问题。

【问题讨论】:

  • 它有时是如何工作的?你没有函数调用 onclick 什么的。
  • 浏览器的开发工具说发生了什么?表格是否发布?您收到错误响应了吗?
  • 请注意,您有Html.BeginForm,它呈现一个&lt;form&gt; 元素,和一个&lt;form&gt; 元素。嵌套的 &lt;form&gt; 元素在 HTML 中无效。
  • 异端,嗯,这可能是问题所在。让我做一些测试。还有 NaSir,如果按钮嵌套在 @Html.BeginForm 中,我不需要任何附加到按钮的函数
  • 是的@HereticMonkey 这就是问题所在。谢谢你。我想Html.BeginForm 就像&lt;form&gt;&lt;/form&gt;标签很明显,谢谢!

标签: html asp.net-mvc button razor bootstrap-4


【解决方案1】:

您必须注意的一件事是 ASP.NET MVC 中包含的 HTML 帮助程序。他们提供帮助,但并不总是明确说明他们如何提供帮助。在这种情况下,Html.BeginForm 会为您呈现一个 &lt;form&gt; 元素,因此您以后不需要另一个。

@using (Html.BeginForm("Form", "Home")) { }

最终呈现如下内容:

<form action="/Home/Form"></form>

嵌套的form 元素是无效的 HTML,这会导致浏览器中发生奇怪的事情。

【讨论】:

    猜你喜欢
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 2019-11-22
    • 2015-12-02
    • 2012-08-08
    • 1970-01-01
    相关资源
    最近更新 更多