在我的webform.i中有listview和更新panel.I中的占位符。我必须弹出一个窗口,显示所选item.i的动态创建弹出的listview item_command。 updatepanel在listview item_command上有异步触发器。
之前我使用面板作为模式popupwindow.i保持面板在更新面板内。我必须将值传递给iframe。但是窗口显示但是iframe src没有显示。所以我动态创建了窗口。
这是我的代码。
protected void OrderList_ItemCommand(object sender, ListViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "ViewOrderDetails":
ListViewDataItem currentItem = (ListViewDataItem)e.Item;
DataKey currentDataKey = this.OrderList.DataKeys[currentItem.DisplayIndex];
string Orderid = Convert.ToString(currentDataKey["Order_Id"]);
Createpopwindow(Orderid );
Break;
}
}
private void Createpopwindow(string contestid)
{
popupholder.Controls.Clear();
Panel popuppanel = new Panel();
popuppanel.ID = "poppanel1";
popuppanel.Width=550;
popuppanel.CssClass = "Dialoguebox";
HtmlGenericControl popupbody = new HtmlGenericControl("p");
ImageButton closebtn = new ImageButton();
closebtn.ID="panelclose";
closebtn.ImageUrl="~/images/close01.png";
HtmlGenericControl frame = new HtmlGenericControl("iframe");
frame.Attributes.Add("width","100%");
frame.Attributes.Add("src", "joincontest.aspx?contest=" + contestid);
popupbody.Controls.Add(closebtn);
popuppanel.Controls.Add(popupbody);
popuppanel.Controls.Add(frame);
popupholder.Controls.Add(popuppanel);
//creating modal popup extender
ModalPopupExtender Popup = new ModalPopupExtender();
Popup.ID = "popupextender";
Popup.TargetControlID = "Button1";
Popup.PopupControlID = "poppanel1";
Popup.CancelControlID = "panelclose";
this.Page.Controls.Add(Popup);
Popup.Show();
}
但是在选择listview项目时没有显示弹出窗口。 我错过了什么。
答案 0 :(得分:0)
是否有理由动态创建,而不是在标记中? 如果在标记中创建modalpopup,您仍然可以在显示之前动态设置所有值。