开发者

Problem while Creating Dynamic ModalPopup

i want to create a modalpopup dynamically but i come across a problem.I pasted my sub here and i dont know what to do for that problem.When i want to show modalpopup,it says "Control 'mdldelete2' of type 'ModalPopupExtender' must be placed inside a form tag with runat=server." How can i solve this?

Public Sub Raise_Alarm(ByRef p_Page As Page, 
                       ByRef p_AssignedButton As System.Web.UI.Web开发者_如何学编程Controls.Button,
                       ByVal p_Message As String)

    Dim mdldelete2 As Global.AjaxControlToolkit.ModalPopupExtender = 
                        p_Page.Page.FindControl("mdldelete2")

    If mdldelete2 Is Nothing Then
        mdldelete2 = New Global.AjaxControlToolkit.ModalPopupExtender
    End If

    With mdldelete2

        .TargetControlID = p_AssignedButton.ID
        .PopupControlID = "pnlDelete"
        .ID = "mdldelete2"
        .BackgroundCssClass = "modalBackground"
        .OkControlID = "btnDeleteOk"
        .CancelControlID = "btnDeleteCancel"
    End With

    p_Page.Controls.Add(mdldelete2)

    Dim mylabel As Label
    mylabel = p_Page.FindControl("lblStatus")

    mylabel.Text = p_Message
    mdldelete2.Show()

End Sub


Really, you should be adding the mdldelete2 control to the Controls collection of the Form control, rather than the Page directly - that might help.

I often find it's easier to add a PlaceHolder control to the page for this sort of thing - it doesn't add anything directly to the page, but gives you a named container to find and add controls to.

Also, just a point - if you did find an instance of the control with the Page.FindControl method, then you don't need to add it to a form collection again, as it's already in there.


Looks like you need to add a ScriptManager control to the aspx

<asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜