永久设置下拉列表的值

时间:2013-09-12 18:45:39

标签: c# javascript asp.net visual-studio-2010

您好我有一个下拉列表:

<asp:DropDownList ID="ddlResultsSinceLast" runat="server" AutoPostBack="true">
   <asp:ListItem Text="15MIN" Value="15"></asp:ListItem>
   <asp:ListItem Text="30MIN" Value="30"></asp:ListItem>
   <asp:ListItem Text="1Hr" Value="1H"></asp:ListItem>
</asp:DropDownList>

默认值为15。现在我将值更改为30。 当我重新加载页面时,该值再次设置为15.有没有办法可以确保在页面重新加载或当其他人登录到他们看到的网站而不是默认值15时。

我希望下拉列表中的更改是永久性的。我想用单选按钮做同样的事情。

如果有办法,请告诉我。我可以考虑将这些存储在数据库中,然后在页面加载时重新加载它们,但我想知道是否有更简单的解决方案。

5 个答案:

答案 0 :(得分:2)

永久性永久性?如果这仅适用于会话且用户最后提交,则使用会话变量可能是执行此操作的最佳方法。如果您希望每个用户都这样做,您可以选择删除带有值的cookie(前提是它不是敏感信息),尽管这可能会在某个时间点被删除。否则,具有该信息的数据库将是最佳的。如果要更改这些值并将其存储在全局中,则缓存可能是最佳解决方案(尽管这只是半永久性的)

答案 1 :(得分:1)

如果您希望它是全局的,那么它需要来自某种存储(如数据库或XML文件)......如果您希望它基于每个用户,您可以使用会话变量或cookie

答案 2 :(得分:0)

要使页面控件永久化,您需要将其值存储在database中。然后,每次新用户加载页面时,值都将来自 DB 。在第一次加载时,您可以将它们存储在application cache中,然后从那里加载而不是再次点击数据库。

每个人都可以使用应用程序缓存,因此这是使其全局化的最佳选择。 看看using application cache

如果用户再次更改设置,则需要更新数据库,并更新缓存。

答案 3 :(得分:0)

你在那里的方式,它在ASPX标记中被“硬编码”。实施此更改的唯一方法是将DropDownList数据绑定到您可以控制的数据源。像XML文件或数据库表。将DDL绑定到该数据源后,您将始终可以控制显示哪些值。

以下是您可以使用的教程,介绍如何通过数据库执行此操作: http://www.c-sharpcorner.com/UploadFile/rohatash/binding-dropdownlist-with-database-and-display-data-in-gridv/

答案 4 :(得分:0)

你可以做的是......在列表中再添加一个项目---选择----这样的事情:

<asp:DropDownList ID="ddlResultsSinceLast" runat="server" AutoPostBack="true">
   <asp:ListItem Text="15MIN" Value="15"></asp:ListItem>
   <asp:ListItem Text="30MIN" Value="30"></asp:ListItem>
   <asp:ListItem Text="1Hr" Value="1H"></asp:ListItem>
   <asp:ListItem Text="---Select---" Value="-1" selected="true"></asp:ListItem>
</asp:DropDownList>

让用户选择他们想要的东西。不要根据您的要求进行限制,因为下拉菜单和单选按钮基本上用于选项,您无法用户选择所需的值。如果您仍然需要,请使用文本框。