Я смотрю разные сообщения, так что при нажатии кнопки мы можем сделать два действия.Render Dynamic Partial views on button click
Моя страница 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.