こんにちは。
ASP.NET2.0+C#で開発しています。
こういった表現でよいのか、いまいち自信がないのですが、ページごとに有効な変数が欲しい場合には、どうすればよいのでしょうか?
例えば、カウンタを実現しようとして、
.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Count.aspx.cs" Inherits="Count" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>無題のページ</title>
</head>
<body>
<form id="form1" runat="server">
「<asp:Label ID="Num" runat="server" />」<br />
<asp:Button ID="CountButton" runat="server" OnClick="Count_Click" Text="カウント" />
</form>
</body>
</html>
.aspx.cs
public partial class Count : System.Web.UI.Page
{
int count;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
count = 0;
Num.Text = count.ToString();
}
}
protected void Count_Click(object sender, EventArgs e)
{
count++;
Num.Text = count.ToString();
}
}
と、した場合、countは毎回初期化されてしまうため、ブラウザ上の表示は1から先に進みません。
かといって、
static int count;
とすると、複数のブラウザでページを開いた場合に、値を共有してしまいます。
表示が進み、かつ値を共有しないようにするためには、どのような手法を用いればよいのでしょうか?
なお、今回は実験のため、int変数一つですが、実際には可変長の配列となる予定です。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
質問にある有効期間の意味がちょっと曖昧です。
別のページに遷移して戻ってきた場合の振る舞いはどうなんでしょうか。1に戻ってもいいのでしょうか。
1に戻ってもよくて、そのページをポストバックしている間のみ有効でいいのであれば、ViewStateを使うのがいいと思います。
あとはSession変数、クッキーあたりが無難じゃないですかね。
はい、お察しのとおり、1に戻ってもいいのです。
というか、むしろ1に戻ったほうが好都合ですね。
ViewStateを試してみましたが、うまくいきそうです。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- ASP・SaaS FC2 BLOG <AUDIO TAGを入れプレビューはOk テーンプレートを更新すると ✖ 1 2023/08/14 11:40
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルに張り付けた写真のフ...
-
onedrive にexcelファイルをア...
-
キヤノン アソビカメラ iNSPiC ...
-
VB.NET Excelを読み込んでDataT...
-
VBAでPDFを作成する際、同じ名...
-
【VB.NET】App.configにファイ...
-
phpのファイルがブラウザで開か...
-
Windows10にデュアルブートでXP...
-
vba 空のデータをSplitする時の...
-
ffftpでファイル取得が0バイト...
-
VB.NETでMSComm が追加できず?
-
VBAでPDF作成をしたあと、指定...
-
aspxをhtmlに変換する方法について
-
ASP.NetでWebアプリ開発の経験...
-
【VB.NET】Excelの最終行までの...
-
マクロで同じフォルダにある画...
-
Excelでボタン(フォームコント...
-
python3 足し算の問題
-
C#からvbsを実行したい
-
visual stduo を使ったc#での...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
aspxでIFみたいなことがしたい
-
ASP.netで、CheckBoxListのSele...
-
ASP.NETでTimerコントロールを...
-
<asp>タグの属性情報が取得でき...
-
javascriptでlabelの値取得
-
ASP.NETで質問です。
-
クリックしたボタンのIDの取得
-
aspx画面のINPUTボタンにファン...
-
c#側で ラジオボタンのチェック...
-
HTMLの値の渡し方について質問...
-
遷移先のURLにパラメータを表示...
-
ACCESSのレポートの表示...
-
キリンビール(晴れ風)どうでし...
-
SELECTボックスの内容を動的に...
-
<br>が文字列で出力されてしま...
-
フォームのtextareaにnl2brを使...
-
改行したいのですが
-
javascriptで結果表示テキスト...
-
テキストボックスにマクロでメ...
-
C#のRichTextBoxで表示行数を取...
おすすめ情報