/// <summary>初回ロード時のページロードでHiddenにGUIDを裁判する</summary> protected void Page_Load(object sender, EventArgs e) { // CustQueueを初期化する。 this._CustQueue = new CustQueue("VwS_HdnToSsn"); if (this.IsPostBack) { // ポストバック // ここで、HiddenFieldからGUIDを取得しようとしたが、 // LoadPageStateFromPersistenceMediumイベントが先に動く。 } // ViewState保存用のGUIDを生成 Guid guid = System.Guid.NewGuid(); this.Guid = guid.ToString(); // HiddenFieldにViewState保存用のGUIDを保存する。 // HiddenFieldはMasterPageに置いてある為このコードとなる。 // (マスタ ページのネストなどに対応する場合は少々複雑になる。) ((HiddenField)this.Master.FindControl("hdnViewStateGuid")).Value = this.Guid; // CustQueueにIDを追加する。 Hashtable delIds = this._CustQueue.EnQandDeQ(this.Guid); // 削除されたIDをSessionから消去する。 foreach (string delID in delIds.Keys) { Session.Remove("VIEWSTATE:" + delID); } }
/// <summary>初回ロード時のページロードでHiddenにGUIDを裁判する</summary> protected void Page_Load(object sender, EventArgs e) { // CustQueueを初期化する。 this._CustQueue = new CustQueue("VwS_HdnToSsn"); if (this.IsPostBack) { // ポストバック // ここで、HiddenFieldからGUIDを取得しようとしたが、 // LoadPageStateFromPersistenceMediumイベントが先に動く。 } // ViewState保存用のGUIDを生成 Guid guid = System.Guid.NewGuid(); this.Guid = guid.ToString(); // HiddenFieldにViewState保存用のGUIDを保存する。 // HiddenFieldはMasterPageに置いてある為このコードとなる。 // (マスタ ページのネストなどに対応する場合は少々複雑になる。) ((HiddenField)this.Master.FindControl("hdnViewStateGuid")).Value = this.Guid; // CustQueueにIDを追加する。 Hashtable delIds = this._CustQueue.EnQandDeQ(this.Guid); // 削除されたIDをSessionから消去する。 foreach (string delID in delIds.Keys) { Session.Remove("VIEWSTATE:" + delID); } }