我正在查看不同的帖子,以便在单击按钮时我们可以执行两个操作。
我的 aspx 页面包含表单,单击按钮时它将向控制器提交表单,我在控制器中使用表单数据,并根据表单中的值呈现部分视图,并且我想在我的 aspx 中显示我的部分视图。
我正在执行以下步骤:
<form id="StatsForm" name="StatsForm" action="../Stats/Index/" method="POST"
enctype="multipart/form-data">
<%= Html.AntiForgeryToken()%>
<% Html.RenderPartial("OptionalFields"); %>
</form>
<script type="text/javascript" language="javascript">
//<![CDATA[
$(document).ready(function () {
$("#GetReport").click(function () {
$("form[name=StatsForm]").submit();
});
});
//]]>
</script>
我的控制器:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection form)
{
// Deal with the form
var strId= Convert.ToInt32(form["manufacturerId"]);
var str1Id= Convert.ToInt32(form["reportId"]);
var str2Id= Convert.ToInt32(form["categoryId"]);
var str3Id= Convert.ToInt32(form["retailerId"]);
var str4Id= Convert.ToInt32(form["countryId"]);
var str5Id= Convert.ToInt32(form["regionId"]);
var str6Id= (form["ManufacturerWidgetId"]);
var startDate = new DateTime(1, 1, 1, 0, 0, 0, 0);
var endDate = new DateTime(1, 1, 1, 0, 0, 0, 0);
if (!String.IsNullOrEmpty(form["StartDate"]))
{
startDate = Convert.ToDateTime(form["StartDate"]);
}
if (!String.IsNullOrEmpty(form["EndDate"]))
{
endDate = Convert.ToDateTime(form["EndDate"]);
}
var reportName = _reportRepository.GetReport(reportId);
var stats = new Stats
{
};
switch (reportName.Code)
{
case "ABC":
return RedirectToAction("InterStats",
new
{
});
break;
case "XYZ":
return RedirectToAction("ParametersCumLeads",
new
{
});
break;
case "IMP":
break;
}
我的部分观点:
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
public ActionResult InterStats(int str1Id, int str2Id, DateTime startDate, DateTime endDate)
{
var str = _manufacturerWidgetsRepository.GetManufacturerWidgetByManufacturerAndCountry(manufacturerId, countryId);
var report = new ABCReport();
var reportList = new List<ReportList>(); // a list of my anonymous type without the relationships
report.reportList = new List<Record>();
var count = 1;
foreach (var mw in str)
{
// I am doing some function
// Create the data for the report
}
return PartialView(report);
}
我正在尝试在我的 aspx 中显示我的部分视图。我的问题是如果不单击我的提交按钮两次,我如何将表单提交到我的控制器并将我的部分视图注入我的 aspx。