modalpop在更新面板中不起作用

时间:2011-05-17 07:27:55

标签: c# asp.net ajaxcontroltoolkit

在我的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项目时没有显示弹出窗口。 我错过了什么。

1 个答案:

答案 0 :(得分:0)

是否有理由动态创建,而不是在标记中? 如果在标记中创建modalpopup,您仍然可以在显示之前动态设置所有值。