MVC 表单提交从另一个局部视图执行操作
MVC form submit executes action from another Partial View
我正在与 MVC 5
合作。我有一个 View
装满了两个 Partial view
。一个是 Header
,另一个是 Body
。
我的 header.schtml
里有这个
using (Html.BeginForm("Login", "Home"))
{
<div class="DvBotonLogM" >
<input type="submit" value="Logi IN" title="Log" class="btn2 btn-primary AlinearBoton" />
</div>
}
我的 Body.cshtml
里有这个
<form action="@Url.Action("Create", "Users")" id="formCreate" enctype="multipart/form-data" method="post">
@Html.AntiForgeryToken()
<div class="dvUploadCaptcha">
<div class="dvRegistroAct">
<input type="submit" value="Grabar" class="btn btn-primary" />
</div>
</div>
</form>
当我向 formCreate
求和时,我通过 Jquery
来做。
$('formCreate').submit(function (event) {
event.preventDefault();
if ($(this).valid()) {
var formdata = new FormData($(this).get(0));
$.ajax({
url: this.action,
type: this.method,
data: formdata,
processData: false,
contentType: false,
beforeSend: function () {
if (!validarTerms())
return false;
},
success: function (result) {
processResponse(result);
},
complete: function () {
}
});
}
return false;
});
我遇到的问题是当我提交 Header 视图时,它调用 Body 提交。
我怎样才能避免这样做,而只是从 Header 视图调用 Sumbit
操作?
在容器中添加表单
<div class="myContainer">
<form action="@Url.Action("Create", "Users")" id="formCreate" enctype="multipart/form-data" method="post">
@Html.AntiForgeryToken()
<div class="dvUploadCaptcha">
<div class="dvRegistroAct">
<input type="submit" value="Grabar" class="btn btn-primary" />
</div>
</div>
</form>
</div>
并在脚本中:
$('.myContainer #formCreate').submit(function (event) {
});
对另一种形式做同样的事情,也许把脚本代码变成一个函数。
我正在与 MVC 5
合作。我有一个 View
装满了两个 Partial view
。一个是 Header
,另一个是 Body
。
我的 header.schtml
里有这个using (Html.BeginForm("Login", "Home"))
{
<div class="DvBotonLogM" >
<input type="submit" value="Logi IN" title="Log" class="btn2 btn-primary AlinearBoton" />
</div>
}
我的 Body.cshtml
<form action="@Url.Action("Create", "Users")" id="formCreate" enctype="multipart/form-data" method="post">
@Html.AntiForgeryToken()
<div class="dvUploadCaptcha">
<div class="dvRegistroAct">
<input type="submit" value="Grabar" class="btn btn-primary" />
</div>
</div>
</form>
当我向 formCreate
求和时,我通过 Jquery
来做。
$('formCreate').submit(function (event) {
event.preventDefault();
if ($(this).valid()) {
var formdata = new FormData($(this).get(0));
$.ajax({
url: this.action,
type: this.method,
data: formdata,
processData: false,
contentType: false,
beforeSend: function () {
if (!validarTerms())
return false;
},
success: function (result) {
processResponse(result);
},
complete: function () {
}
});
}
return false;
});
我遇到的问题是当我提交 Header 视图时,它调用 Body 提交。
我怎样才能避免这样做,而只是从 Header 视图调用 Sumbit
操作?
在容器中添加表单
<div class="myContainer">
<form action="@Url.Action("Create", "Users")" id="formCreate" enctype="multipart/form-data" method="post">
@Html.AntiForgeryToken()
<div class="dvUploadCaptcha">
<div class="dvRegistroAct">
<input type="submit" value="Grabar" class="btn btn-primary" />
</div>
</div>
</form>
</div>
并在脚本中:
$('.myContainer #formCreate').submit(function (event) {
});
对另一种形式做同样的事情,也许把脚本代码变成一个函数。