【问题标题】:About setting the default value of html.dropdownlist关于设置html.dropdownlist的默认值
【发布时间】: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


【解决方案1】:

只需将所选值设置为下拉列表

$("#InputDataTable2").val(your selected value);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    相关资源
    最近更新 更多