ユーザーコントロールを動的にロードしています。デバッグ時に起動して正しい結果を返すイベント ハンドラーを追加しました。ただし、得られた結果からグリッドを埋めています。結果を取得していて、グリッドビューがいっぱいになっていますが(デバッグが示すように)。ただし、塗りつぶされたグリッドビューは表示されず、グリッドビューはそのままです。エラーがどこにあるかわかりません。
protected void Page_Load(object sender, EventArgs e)
{
lblMessage.Visible = false;
UCAdvancedFilter.sendMessageToThePage += new AdvancedFilter.SendMessageToThePageHandler(OnsendMessageToThePage);
}
コードビハインド
protected void OnsendMessageToThePage(string id)
{
GroupMasterClass gm = new GroupMasterClass();
gm.igroup_id = Convert.ToInt32(id);
ResultClass objres = gm.fn_GetAdvancedSearchById();
if (objres.bStatus)
{
eslist<GroupMasterClass> OBJLIST = objres.objData as eslist<GroupMasterClass>;
if (OBJLIST.Count > 0)
{
grid.DataSource=OBJLIST;
grid.DataBind();
}
}
}
ユーザーコントロール
public delegate void SendMessageToThePageHandler(string messageToThePage);
public event SendMessageToThePageHandler sendMessageToThePage;
#region Events
protected void btnCloseMsg_Click(object sender, EventArgs e)
{
Panel1_ModalPopupExtender.Hide();
}
protected void btnSearch_Click(object sender,EventArgs e)
{
if (sendMessageToThePage != null)
{
sendMessageToThePage(hdnResult.Value);
}
}
さらにデバッグして確認すると、ボタンをもう一度クリックすると結果が表示されることがわかりました。
ありがとう