【发布时间】: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