I've been through all the articles the last few hours trying to make dynamic label text display in a label contained in a ModalPopupExtender, with no success. A label text in the markup code works but I can't bring in anything from code-behind. Help, please; this is getting very frustrating. Suggestions have included everything from update panels to JavaScript; maybe I'll just conclude that my ModalPopupExtender is cursed. Please help me lift the curse. Code:
<style type="text/css"> .modalBackground { background-color: Gray; filter: alpha(opacity=70); opacity: 0.7; } .modalPopup { background-color: #ffffdd; border-width: 3px; border-style: solid; border-color: Gray; padding: 3px; width: 250px; }</style><script type="text/javascript"> function ShowModalPopup() { var modal = $find("<%= mpeNewInviteSuccess.ClientID %>"); modal.show(); }</script><%--success popup items--%><div style="display: none;"><asp:Button ID="btnDummy" OnClick="btnDummy_Click" OnClientClick="ShowModalPopup" UseSubmitBehavior="true" runat="server" /></div><div id="divNewInviteSuccess" class="modalPopup" runat="server"><div><asp:Label ID="lblNewInviteSuccess" runat="server" /></div><br /><div><asp:Button ID="btnNewInviteReturn" Text="OK" CssClass="button" OnClientClick="return HideModalPopup()" runat="server" /></div></div><act:ModalPopupExtender ID="mpeNewInviteSuccess" TargetControlID="btnDummy" BackgroundCssClass="modalBackground" PopupControlID="divNewInviteSuccess" DropShadow="true" BehaviorID="mpe" runat="server" /> protected void btnDummy_Click(object sender, EventArgs e) { mpeNewInviteSuccess.Show(); //create object of button from sender Button button = sender as Button; //get command argument string cmdArgument = button.CommandArgument; //split command argument based on comma separator and convert to a list List<string> lstPassedValues = new List<string>(cmdArgument.Split(',')); //ListView lsv = Helpers.FindChild(Page, "lsvNewInvite") as ListView; //create successful message from list string SuccessMsg = "Success! Your invitation was sent to " + lstPassedValues[0] + " " + lstPassedValues[1] + " (" + lstPassedValues[2] + ")."; lblNewInviteSuccess.Text = SuccessMsg; mpeNewInviteSuccess.Show(); } protected void lsvNewInvite_ItemCommand(object sender, ListViewCommandEventArgs e) { if (e.CommandName == "Insert") { //place cursor in txtFirstName var lsv = Helpers.FindChild(this, "lsvNewInvite") as ListView; TextBox txt = Helpers.FindChild(lsv, "txtFriendFirstName") as TextBox; if (txt != null) txt.Focus(); //set up parameter values ListViewItem item = e.Item as ListViewItem; var userInfoList = UserInfo.UserInfoGetByUserID(UserID); UserInformation = userInfoList.FirstOrDefault(); var user = UserInformation.UserID; string firstName = (item.FindControl("txtFriendFirstName") as TextBox).Text.ToString(); string lastName = (item.FindControl("txtFriendLastName") as TextBox).Text.ToString(); string eMail = (item.FindControl("txtFriendEmail") as TextBox).Text.ToString(); try { //code to be inserted into DB srcNewInvite.InsertParameters["FriendID"].DefaultValue = "0"; srcNewInvite.InsertParameters["User"].DefaultValue = user.ToString(); srcNewInvite.InsertParameters["FirstName"].DefaultValue = firstName; srcNewInvite.InsertParameters["LastName"].DefaultValue = lastName; srcNewInvite.InsertParameters["Email"].DefaultValue = eMail; srcNewInvite.InsertParameters["Date"].DefaultValue = DateTime.Now.ToString(); } catch (Exception ex) { throw ex; } finally { EmailNewInvitee(firstName, lastName, eMail); //concatenate these values and make it as a comma-separated string string concatenatedValue = firstName + "," + lastName + "," + eMail; btnDummy.CommandArgument = concatenatedValue; //show success message by programatically "clicking" hidden button //trigger the button click event btnDummy_Click(this.btnDummy, e); pnlMain.Visible = false; } } }