マスターページからイベントが発生したかどうかを確認する必要があります。そのために私はビューステートに数えました。これはページロード時に例外をスローしています。ページローで次の行を呼び出すだけです。マスターページでビューステートを設定するにはどうすればよいですか?
Int32 count = Int32.Parse(this.ViewState["Count"].ToString());
助けてください。
マスターページからイベントが発生したかどうかを確認する必要があります。そのために私はビューステートに数えました。これはページロード時に例外をスローしています。ページローで次の行を呼び出すだけです。マスターページでビューステートを設定するにはどうすればよいですか?
Int32 count = Int32.Parse(this.ViewState["Count"].ToString());
助けてください。
これは、いくつかのケースで例外をスローします。
ViewState["Count"]
はヌルを返し、.ToString()
コールはNullReferenceException
をスローします。FormatException
を投げることはできません。しようとするもの:
次のようにあなたのコードを向上させることができます。
Int32 count;
string countStr = this.ViewState["Count"];
if(!string.IsNullOrEmpty(countStr)
{
bool ok = Int32.TryParse(countStr, out count);
if(ok)
{
// Do stuff with count
}
}
私はそう思っているからだ。 「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示される – NewBie
<pagesenableSessionState="false"enableViewState="false"theme="Default" />
はViewState["Count"]
が例外を回避するための操作を実行する前に存在していることを確認してください。
使用このコードは0にカウント値をデフォルトに:
Int32 count = Int32.Parse((this.ViewState["Count"] ?? "0").ToString());
これは「カウント」キーは、ViewStateのコレクションに存在しない場合は、例外を見て停止します。
viewstateは共有オブジェクトではありません。つまり、masterページには独自のページがあり、各コントロールには独自のページがあります。 –