基本的には、ドロップダウンリストと動的に追加されたユーザーコントロールがあります。ユーザーコントロールは、ドロップダウンリストで行われた選択に応じてグリッドビューを読み込みます。ドロップダウンリストはユーザーコントロールの一部ではありません。ViewState、UserControl、およびIsPostback
さて、問題は、どのようにシミュレートされません(isControlPostback = false)をユーザーがドロップダウンリストで選択を変更するたびに? ViewStateはコントロールを覚えているようです。
protected bool IsUserControlPostBack
{
get
{
return this.ViewState["IsUserControlPostBack"] != null;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsUserControlPostBack)
{
ViewState.Add("IsUserControlPostBack", true);
//load stuff in the grid view and bind it
}
}
ユーザーがドロップダウンリストの選択を変更し、私はjavascriptの確認ボックスを持って、そしてバックページの記事:私のユーザーコントロール内
私が持っています。したがって、ドロップダウンリストのOnSelectedIndexChangedイベントはトリガされません。選択したインデックスが変更されるたびに、次のようなことをするために削除したい: ViewState.Remove( "IsUserControlPostBack");
私は、コントロールのOnLoadイベントが、ページのOnLoadイベントの直後に実行され、他のページのドロップダウンリストイベントの直前に実行されることを発見しました。したがって、基本的には、Pageがドロップダウンリストによってトリガされた変更に反応する前に、ユーザコントロールをロードします。この動作は本質的に問題です。 – sarsnake