Asp.net mvc 表单上的两个提交按钮

Asp.net mvc 表单上的两个提交按钮,asp.net-mvc,asp.net-mvc-3,razor,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 3,Razor,Asp.net Mvc 4,假设我有一套机构,每个机构都知道他父亲是谁,一个机构可以有很多孩子。现在,我为这个问题创建了一组级联下拉列表,因此在第一层,当我们找到没有父项的项时(如果可以的话,第0层),一旦用户选择了一个项,第二个列表上的列表将加载其子项(如果有子项),依此类推,直到第3层,我的代码如下: Index.cshtml: @model WebUI.Controllers.IndexViewModel <script src="@Url.Content("~/Scripts/jquery-1.7.1.mi

假设我有一套机构,每个机构都知道他父亲是谁,一个机构可以有很多孩子。现在,我为这个问题创建了一组级联下拉列表,因此在第一层,当我们找到没有父项的项时(如果可以的话,第0层),一旦用户选择了一个项,第二个列表上的列表将加载其子项(如果有子项),依此类推,直到第3层,我的代码如下:

Index.cshtml:

@model  WebUI.Controllers.IndexViewModel
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript">  </script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>




 @Html.Partial("ParentEstablishments",Model)
 <div id="FirstHeritage">@Html.Partial("FirstHeritageChildren",Model)</div>
 <div id="SecondHeritage">@Html.Partial("SecondHeritageChildren",Model)</div>     
@model WebUI.Controllers.IndexViewModel
@Html.Partial(“家长机构”,模型)
@Html.Partial(“FirstHeritageChildren”,模型)
@Html.Partial(“SecondHeritageChildren”,模型)
每个局部视图都有一个ajax表单,如下所示:

@model WebUI.Controllers.IndexViewModel

@using (Ajax.BeginForm("SelectParent","Ticket",new   AjaxOptions{UpdateTargetId="FirstHeritage"}))
{

 <fieldset>
    <legend>Entidad departamental</legend>

    @Html.DropDownListFor( 
        m => m.SelectedParentId , 
        new SelectList( Model.AvailableParents , "EstablishmentId" , "Name" ) , 
        "[Por favor seleccione una entidad departamental]" 
    )
    <input type="submit" value="Select" />
</fieldset>
}
@model WebUI.Controllers.IndexViewModel
@使用(Ajax.BeginForm(“SelectParent”、“Ticket”、新的AjaxOptions{UpdateTargetId=“FirstHeritage”}))
{
整个部门
@Html.DropDownListFor(
m=>m.SelectedParentId,
新的选择列表(Model.AvailableParents、“机构ID”、“名称”),
“[支持所有部门]”
)
}

所以我想创建一个提交按钮,让用户告诉我他选择了他需要的实体,并在我的控制器上调用一个方法,在这里我检查每个id的值,我试图将部分视图放在表单中,但ajax表单的每个提交按钮调用我创建的表单的方法,如何在不干扰ajax表单的情况下创建按钮?

基本上,您不能。使AJAX表单成为AJAX表单的脚本绑定到submit事件,因此任何提交都将被捕获

请记住,ASP.NET中的所有HTML帮助程序和控件都是为了涵盖常见场景,并在实际处于常见场景中时使您的生活更轻松。代码获得的“自定义”越多(例如,第二个提交按钮将执行常规POST而不是AJAX POST),您需要做的工作就越多(使用内置帮助程序和控件的次数也就越少)


只需创建一个常规表单(
Html.BeginForm
),添加两个提交按钮,然后在AJAX版本上附加一个单击事件,然后自己将文章作为AJAX发送。

修改如下按钮。

<input type="button" value="Select" class="btnSubmit" />
<div id="FirstHeritage" attr-Url="@Url.Action("ActionName", "ControllerName", 
new { area = "AreaName" })"></div>
如下所述修改Div。添加一个属性,该属性的值将与其控制器的操作方法相对应。

<input type="button" value="Select" class="btnSubmit" />
<div id="FirstHeritage" attr-Url="@Url.Action("ActionName", "ControllerName", 
new { area = "AreaName" })"></div>

希望这对您有所帮助。

您是否缺少
jquery.validate.js