【问题标题】:Dropdownlist loses selection after auto refresh自动刷新后下拉列表丢失选择
【发布时间】:2018-06-07 08:20:08
【问题描述】:

我有一个下拉列表,一旦我选择了一个选项,正确的信息就会显示在我的网格视图中...现在使用我的应用程序,由于我的应用程序的性质,该应用程序必须在 10 秒后刷新...但是在第一次之后刷新我的选择清除并返回到默认选择..

我明白发生了什么,我只是不知道如何改变它。我已经启用了视图状态和自动回发到我的下拉列表,但是在每次回发后它仍然没有得到我的最后一个选择...我明白在回发后一切已保存,但如何将我的选择保存为视图状态。

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                if (ddl.Items.Count == 0)
                    {
                        BindDropDownList();
                    }


                    BizManager mgr = new BizManager();
                    mgr.CalcShiftPeriod();

                    _ShiftStart = mgr.Shiftstart;
                    _ShiftEnd = mgr.Shiftend;


                    //RefreshLabeldata(214, DateTime.TryParseExact("2016-06-06," DateTime.TryParseExact("2016 - 06 - 06"));

                    RefreshData(ProductId,
                        _ShiftStart,
                        _ShiftEnd);
                }
            }



public void Dropdownlist1_SelectedIndexChanged(object sender, EventArgs e) //this fires after a DDL selection
        {

            ddl.EnableViewState = true;
            RefreshData(ProductId, _ShiftStart, _ShiftEnd);

        }

我有一个元刷新来刷新页面

<head>
    <meta http-equiv="refresh" content="10" > <%--refreshes after 10 seconds --%>

【问题讨论】:

  • 如果完全刷新,您的选择将不会被保存。如果它只是回发,那么它应该保存
  • 如何让它在元刷新后保持其状态? (但我希望数据仍然每 10 秒更新一次)
  • 我认为对你来说使用 jquery 和 ajax 是更好的选择,而不是你试图做的每 10 秒回发一次
  • 我只需要某种方式在刷新后将数据保留在页面中
  • 您可以使用,session 来存储您选择的值,但这不是一个很好或有效的方式。如果你打开 2 个标签,一切都会变得一团糟。

标签: c# asp.net drop-down-menu viewstate


【解决方案1】:

嘿,我只是想提醒你一下。我设法找到了一个解决方案...在标记的头部添加 javascript.. 如下所示。

<script>
       window.setTimeout('document.forms[0].submit()', 5000); //refresh the page (without losing state)
   </script>

【讨论】:

    猜你喜欢
    • 2016-06-03
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多