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:DropDownList>

デフォルト値は 15 です。ここで、値を 30 に変更します。ページをリロードすると、値が再び 15 に設定されます。ページのリロード時または他の誰かがサイトにログオンしたときに、デフォルト値の 15 ではなく 30 が表示されることを確認する方法はありますか?

ドロップダウン リストの変更を永続的にしたいと思います。ラジオボタンでも同じことをしたいと思います。

これを行う方法があれば教えてください。これらをデータベースに保存し、ページの読み込み時に再読み込みすることも考えられますが、もっと簡単な解決策があるかどうか知りたいです。

4

5 に答える 5

2

永続的とはどのくらい永続的ですか?これがセッションのためだけのもので、ユーザーが最後にサブミットする場合は、おそらくセッション変数を使用するのが最善の方法です。これをユーザーごとにしたい場合は、必要に応じて値を含む Cookie をドロップできます (機密情報でない場合) が、これはある時点で消去される可能性があります。それ以外の場合は、情報を含むデータベースが最適です。これらが変更されてグローバルに保存される値である場合、キャッシュがおそらく最良の解決策です (ただし、それは半永久的なものにすぎません)。

于 2013-09-12T18:54:52.633 に答える
1

グローバルにしたい場合は、ある種のストレージ(データベースやXMLファイルなど)から取得する必要があります...ユーザーごとにしたい場合は、セッション変数またはCookieを使用できます。

于 2013-09-12T18:48:46.867 に答える
0

あなたがそこに持っている方法は、ASPXマークアップで「ハードコード」されています。この変更を強制する唯一の方法は、DropDownList を制御可能なデータ ソースにデータ バインドすることです。XML ファイルやデータベース テーブルと同様です。DDL がそのデータ ソースにバインドされると、表示される値を常に制御できます。

データベースを介してそれを行う方法を示すチュートリアルを次に示します

于 2013-09-12T18:51:01.227 に答える
0

あなたができることは..リストにもう1つのアイテムを追加することです---choose----次のようなものです:

<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>

ユーザーが必要なものを選択できるようにします。ドロップダウンとラジオボタンは基本的にオプション用であり、ユーザーが目的の値を選択できないため、要件に従って制限しないでください。それでも必要な場合は、テキストボックスを使用してください。

于 2013-09-12T19:06:17.610 に答える
0

ページ コントロールを永続的にするには、それらの値をdatabase. 次に、新しいユーザーがページをロードするたびに、値はDBから取得されます。最初のロードで、これらを に保存し、application cache再度 db にアクセスする代わりにそこからロードすることができます。

アプリケーション キャッシュは誰でも利用できるため、これはグローバルにするための最良のオプションです。アプリケーション キャッシュの使用をご覧ください。

ユーザーが再度設定を変更した場合は、DB を更新し、キャッシュも更新する必要があります。

于 2013-09-12T18:49:35.490 に答える