从后面的代码创建动态ModalPopupExtender不起作用

时间:2012-02-25 14:15:14

标签: asp.net dynamic code-behind modalpopupextender

我正在尝试从后面的代码创建一个动态的ModalPopupExtender,当我点击一个按钮时,它会弹出一个带有按钮的面板。 我创建了一个面板(命名面板),侧面有一个名为ButtonOk的按钮(button.id =“ButtonOk”) 但是当我点击第一个按钮的事件处理程序(Button_Click)时没有任何反应请帮助我,我的代码是:

protected void Button_Click(object sender, EventArgs e)
{
    HiddenField hf = new HiddenField();
    hf.ID = "hdnField";


    AjaxControlToolkit.ModalPopupExtender modalPop = new    AjaxControlToolkit.ModalPopupExtender();
    modalPop.ID = "ModalPopupExtenderSelectFilds";
    modalPop.PopupControlID =Convert.ToString(Page.FindControl(Convert.ToString(panel.ClientID))); //panel.ID;
    modalPop.TargetControlID = Convert.ToString(Page.FindControl(Convert.ToString(hf.ClientID))); //"hdnField";        
    modalPop.OkControlID = "ButtonOk";
    modalPop.BackgroundCssClass = "modalBackground";
    modalPop.BehaviorID = "modalPopupExtenderSelectFilds";

    modalPop.Show();
}

3 个答案:

答案 0 :(得分:0)

要获得其他用户的帮助,您只需将modalPop添加到控件将添加到页面的区域

例如,这应该在代码末尾添加

panel1.Controls.Add(modalPop);

答案 1 :(得分:0)

检查此代码以向面板添加控件: -

this.panel1.Controls.Add(modalPop);

答案 2 :(得分:0)

在代码背后,你可以做到这一点:

if (true)
{
var script = @"Sys.Application.add_load(function() { $find('behavoirIDModal').show(); });";
ScriptManager.RegisterStartupScript(this, GetType(), "ShowPopup", script, true);
}

编辑:behavoirIDModal