【发布时间】:2020-01-06 08:45:23
【问题描述】:
我正在做一个可以比较数据表的网站 用户可以通过下拉列表选择数据表。
我已经为“InputDataTable2”设置了默认值。 并在用户完成选择数据表并提交结果后。 虽然它可以将正确的表传递给控制器, 但“InputDataTable2”的值会自动设置回默认值。
当用户第一次进入这个页面时,我只需要设置“InputDataTable2”的默认值。 用户选择表格并提交后,返回结果时“InputDataTable2”应与用户选择的表格保持一致。
我尝试了 set Selected = true 但它不起作用,所以我现在尝试了 jQuery。
有什么办法可以让jQuery在第一次运行后停止运行?
查看
@using (Html.BeginForm("Compare", "Home", FormMethod.Post))
{
@Html.Raw("New :"
@Html.DropDownList("InputDataTable1", (IEnumerable<SelectListItem>)ViewBag.InputDataTable1)<br/>
@Html.Raw("Base:")
@Html.DropDownList("InputDataTable2", (IEnumerable<SelectListItem>)ViewBag.InputDataTable2)<br />
<input type="submit" value="compare" />
}
<script>
$(document).ready(function ()
{
$('#InputDataTable2')[0].selectedIndex = 1;
});
</script>
控制器
public ViewResult CompareReport()
{
List<SelectListItem> reportList = new List<SelectListItem>();
reportList = GetReportList();
DataTable Tables = DatabaseHelper.GetCategoryReportSnapshotList();
ViewBag.CMDataTable1 = Tables.Rows[0][0].ToString();
ViewBag.CMDataTable2 = Tables.Rows[1][0].ToString();
ViewBag.InputDataTable1 = reportList;
ViewBag.InputDataTable2 = reportList;
DataSet dsResult = DatabaseHelper.Compare2Snapshot(ViewBag.CMDataTable2, ViewBag.CMDataTable1);
return View("CompareReport", dsResult);
}
[HttpPost]
public ActionResult CompareReport(string InputDataTable1, string InputDataTable2)
{
List<SelectListItem> reportList = new List<SelectListItem>();
reportList = GetReportList();
ViewBag.InputDataTable1 = InputDataTable1;
ViewBag.InputDataTable2 = InputDataTable2;
DataSet dsResult = DatabaseHelper.Compare2Snapshot(InputDataTable2, InputDataTable1);
ViewBag.InputDataTable1 = reportList;
ViewBag.InputDataTable2 = reportList;
return View("CompareReport", dsResult);
}
【问题讨论】:
-
如果是关于重置然后将表单重置为默认值
document.forms[0].reset()
标签: jquery html asp.net-mvc