Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何在不重新加载页面的情况下使用BeginForm发布到MVC表单_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 如何在不重新加载页面的情况下使用BeginForm发布到MVC表单

Asp.net mvc 如何在不重新加载页面的情况下使用BeginForm发布到MVC表单,asp.net-mvc,Asp.net Mvc,我有一个联系表格,提交后会发送电子邮件。我有一个操作方法Send,可以处理电子邮件的发送。客户端希望在成功执行Send方法后出现一个模式,但不重新加载当前视图。无论我做了什么,我总是在执行Send后重新加载页面 我考虑过使用onClick事件,所以当表单提交时,我调用一个JS函数,然后告诉控件发送一封电子邮件,成功后显示模式。问题是我必须使用BeginForm,这样我就可以利用DataAnnotation来验证表单,但在这种情况下,每次提交时页面都会重新加载,我无法阻止这种情况。我也不知道如何将

我有一个联系表格,提交后会发送电子邮件。我有一个操作方法
Send
,可以处理电子邮件的发送。客户端希望在成功执行
Send
方法后出现一个模式,但不重新加载当前视图。无论我做了什么,我总是在执行
Send
后重新加载页面

我考虑过使用onClick事件,所以当表单提交时,我调用一个JS函数,然后告诉控件发送一封电子邮件,成功后显示模式。问题是我必须使用BeginForm,这样我就可以利用DataAnnotation来验证表单,但在这种情况下,每次提交时页面都会重新加载,我无法阻止这种情况。我也不知道如何将模型传递给JS函数。 如何在不重新加载视图的情况下发送电子邮件并将成功值传递回页面

        @using (Html.BeginForm("Send", "Contact", FormMethod.Post))
                    <div class="form-inline">
                        <label for="first-name" class="form-label">*First Name</label>
                        @Html.TextBoxFor(m => m.FirstName})
                        @Html.ValidationMessageFor(model => model.FirstName)
                    </div>
                    <div class="form-inline">
                        <label for="last-name" class="form-label">*Last Name</label>
                        @Html.TextBoxFor(m => m.LastName })
                        @Html.ValidationMessageFor(model => model.LastName)
                    </div>
                    <div class="form-inline">
                        <label for="message" class="form-label">*Message</label>
                        @Html.TextAreaFor(m => m.Message })
                        @Html.ValidationMessageFor(model => model.Message)
                    </div>

                    <input id="btnbtn" type="submit" value="Submit" />


它刚刚从下拉列表中选择了值(联系原因):

{FirstName:null,LastName:null,EmailAddress:null,…}
联系原因:(8)[{…},{…},{…},{…},{…},{…}]
名字:空
姓氏:空
消息:空

如果不想重新加载/刷新页面,请使用Ajax调用。

可能重复
var url = '/Home/Send';
        $(function () {
            $("#btnbtn").click(function () {
                var myModel = @Html.Raw(Json.Encode(Model));
                console.log(myModel);
            });
            });