加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Asp.Net MVC Ajax.BeginForm没有通过Ajax提交

发布时间:2020-12-15 23:43:07 所属栏目:asp.Net 来源:网络整理
导读:我的表格如下 div id="contact-form" class="hidden" title="Online Request Form" @Using (Ajax.BeginForm("Contact","Main",Nothing,New AjaxOptions With {.UpdateTargetId = "status",.HttpMethod = "post"},New With {.id = "contactUs"})) @div @Html.
我的表格如下
<div id="contact-form" class="hidden" title="Online Request Form">
    @Using (Ajax.BeginForm("Contact","Main",Nothing,New AjaxOptions With {.UpdateTargetId = "status",.HttpMethod = "post"},New With {.id = "contactUs"}))
        @<div>
            @Html.LabelFor(Function(m) m.Name)<br />
            @Html.TextBoxFor(Function(m) m.Name)<br />
            @Html.LabelFor(Function(m) m.Phone)<br />
            @Html.TextBoxFor(Function(m) m.Phone)<br />
            @Html.LabelFor(Function(m) m.Email)<br />
            @Html.TextBoxFor(Function(m) m.Email)<br />
            @Html.LabelFor(Function(m) m.Question)<br />
            @Html.TextAreaFor(Function(m) m.Question)<br />
            @Html.LabelFor(function(m) m.Security)<br />
            @Html.TextBoxFor(Function(m) m.Security)<br />
            <noscript>
                <input type="submit" name="submit" value="Ok" />
            </noscript>
            @Html.ValidationSummary("Oops,please correct the errors.")<span id="status">@TempData("status")</span>
        </div>
    End Using
</div>

我在jQuery-UI模态窗口中打开它

<script>
    $(function () {

        // Open the modal dialog from the div.contact-us click event
        $('#contact-us').click(function () {
            $('#contact-form').dialog('open');
            return false;
        });

        // Manage the modal dialog behavior.
        $('#contact-form').dialog({
            modal: true,autoOpen: false,buttons: {
                Cancel: function () {
                    $(this).dialog('close');
                },Ok: function () {
                    $('form#contactUs').trigger('submit');
                }
            }
        });
    });

</script>

当我点击“确定”按钮,它发布到相应的控制器,但它不是通过AJAX发布

''# fix the StackOverflow code coloring issue.
    <HttpPost()>
    Function Contact(ByVal contactForm As Models.ContactForm) As ActionResult
        ViewData("Testimonials") = Helpers.GetTestimonials

        If ModelState.IsValid Then
            ''# Submit the email
            TempData("status") = "Thank you,we will be in touch"
        Else
            ''# Return False
            TempData("status") = "Oops,please correct the errors."
        End If


        If Request.IsAjaxRequest Then
            Return Content(TempData("status").ToString)
        Else
            Return View("Index")
        End If
    End Function

我究竟做错了什么?提交表单后,我的网址为http://example.com/Main/Contact,告诉我IsAjaxRequest = false

编辑

即使我不使用jquery-ui“ok”按钮,只需添加< input type =“submit”name =“submit”value =“Ok”/>以表格形式,没有Ajax的表单

解决方法

你有jquery ajax脚本吗?我没有注意到这种行为:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读