0

アクションのメッセージを表示するためのユーザー コントロールがあります。ユーザーコントロールのページ読み込み時に非表示になるため、警告が発生すると消えます。しかし、ページがロードされる特定のケースでは、ユーザーコントロールを表示したいのですが、ユーザーコントロールのページロードで非表示になっているためではありません。どうすればこれを管理できますか?

ユーザーコントロール

protected void Page_Load(object sender, EventArgs e)
{
    this.Visible = false;
}
public void SetMessage(string title, string desc)
{
    this.Visible = true;
    Title = title;
    Description = desc;
}

親ページ

protected void Page_Load(object sender, System.EventArgs e)
{ 
    msgDialogue.SetMessage(a);
}
4

1 に答える 1

0

私が理解したことから、ページ(またはセッション変数)のプロパティ値に応じて、ユーザーコントロールを表示または非表示にする必要があります。このような場合は、ページにプレースホルダーを追加してから、条件に応じてコントロールを読み込む (または読み込まない) ことをお勧めします。

if(condition)
{    
_usercontrol ctrl = LoadControl("~/usercontrols/_usercontrol.ascx") as _usercontrol;
Placeholder1.Controls.Add(ctrl);
}
//otherwise, do not load the control

それが役に立てば幸い。

于 2013-10-22T21:11:42.417 に答える