我的 asp.net mvc 4.0 Web 应用程序中有以下代码。这个视图是一个搜索视图,它有搜索字段和一个 Ajax.BeginForm 来调用搜索操作方法:-
@using (Ajax.BeginForm("AdvanceSearchIndex", "Home",
new AjaxOptions
{
HttpMethod = "get",
InsertionMode = InsertionMode.Replace,
LoadingElementId = "progress",
UpdateTargetId = "SearchTable"
}))
{
<div>
<span class="f">@Html.DisplayNameFor(model => model.ip) </span>
@Html.EditorFor(model => model.ip) @Html.DropDownListFor(a => a.ipselection, Model.NameSelectionOptions)
@Html.ValidationMessageFor(model => model.ip)
</div>
<div>
<span class="f">@Html.DisplayNameFor(model => model.mac) </span>
@Html.EditorFor(model => model.mac) @Html.DropDownListFor(a => a.macselection, Model.NameSelectionOptions)
@Html.ValidationMessageFor(model => model.mac)
</div>
<div>
<span class="f">@Html.DisplayNameFor(model => model.AssetTypeID) </span>
@Html.DropDownListFor(model => model.AssetTypeID, ((IEnumerable<TMS.Models.TechnologyType>)ViewBag.Techtypes).Select(option => new SelectListItem
{
Text = (option == null ? "None" : option.Name),
Value = option.AssetTypeID.ToString(),
Selected = (Model != null) && (option.AssetTypeID == (int)ViewBag.AssetTypeID)
}), "All",new { @class = "SmallDropDown5" })
@Html.ValidationMessageFor(model => model.AssetTypeID)
</div>
<input class="btn btn-success" type="submit" value="Search" /> <span> </span>
<input type="reset" value="Reset" class='btn' />
<img src="~/Content/Ajax-loader-bar.gif" class="loadingimage" id="progress" />
}
现在我想在“搜索”按钮旁边添加一个名为“导出到 CSV”的按钮,用户可以在其中单击“导出”按钮,这将调用另一个执行导出操作的操作方法。所以在导出操作方法中,我需要传递相同的搜索参数,因此导出数据将仅用于相关记录。所以我尝试将导出按钮定义为父按钮,将搜索定义为内部按钮。因此,当用户单击“导出”时,他们实际上会重新提交搜索字段,这是我更新的代码:-
@using (Ajax.BeginForm("Export", "Home",
new AjaxOptions
{
HttpMethod = "get",
InsertionMode = InsertionMode.Replace,
LoadingElementId = "progress",
UpdateTargetId = "SearchTable"
}))
{
using (Ajax.BeginForm("AdvanceSearchIndex", "Home",
new AjaxOptions
{
HttpMethod = "get",
InsertionMode = InsertionMode.Replace,
LoadingElementId = "progress",
UpdateTargetId = "SearchTable"
}))
{
//code goes here
<input class="btn btn-success" type="submit" value="Search" />
<input type="reset" value="Reset" class='btn' />
<img src="~/Content/Ajax-loader-bar.gif" class="loadingimage" id="progress" />
}
<input class="btn btn-success" type="submit" value="Export" />
}
但是当我点击导出按钮时,什么都不会发生......当我点击搜索时,将调用导出肌动蛋白方法......那么有没有办法嵌套 Ajax.Beginform?