Я просмотрел все статьи за последние несколько часов, пытаясь сделать отображение динамического ярлыка на ярлыке, содержащемся в ModalPopupExtender, без успеха. Ярлык текста из кода разметки работает, но я не могу принести ничего из кода. Предложения включали все: от панелей обновления до JavaScript. Возможно, я просто сделаю вывод, что мой ModalPopupExtender проклят; пожалуйста, помогите мне поднять проклятие. Код:текст с кодом не отображается в метке ModalPopupExtender
<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;
}
}
}
С помощью приятного человека на сайте «Brand X» (ОК, forums.asp.net) я смог решить проблему: – muybn