Javascript 来自代码隐藏的文本赢得';t在ModalPopupXtender标签中显示
在过去的几个小时里,我阅读了所有的文章,试图在ModalPopupXtender中包含的标签中显示动态标签文本,但没有成功。标记代码中的标签文本起作用,但我不能从代码隐藏中引入任何内容。建议包括从更新面板到JavaScript的所有内容。也许我会认为我的ModalPopupXtender被诅咒了;请帮我解除诅咒。代码:Javascript 来自代码隐藏的文本赢得';t在ModalPopupXtender标签中显示,javascript,modalpopupextender,Javascript,Modalpopupextender,在过去的几个小时里,我阅读了所有的文章,试图在ModalPopupXtender中包含的标签中显示动态标签文本,但没有成功。标记代码中的标签文本起作用,但我不能从代码隐藏中引入任何内容。建议包括从更新面板到JavaScript的所有内容。也许我会认为我的ModalPopupXtender被诅咒了;请帮我解除诅咒。代码: <style type="text/css"> .modalBackground { background-c
<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;
}
}
}
莫达尔巴基德先生
{
背景颜色:灰色;
过滤器:α(不透明度=70);
不透明度:0.7;
}
莫达尔波普先生
{
背景色:#ffffdd;
边框宽度:3倍;
边框样式:实心;
边框颜色:灰色;
填充:3倍;
宽度:250px;
}
函数showmodalpoup(){var modal=$find(“”;modal.show();}
受保护的无效BTNDUMY_单击(对象发送者,事件参数e)
{
mpeNewInviteSuccess.Show();
//从发件人创建按钮的对象
按钮按钮=发送器为按钮;
//获取命令参数
字符串cmdArgument=button.CommandArgument;
//基于逗号分隔符拆分命令参数并转换为列表
List lstPassedValues=新列表(cmdArgument.Split(',');
//ListView lsv=Helpers.FindChild(第页,“lsvNewInvite”)作为ListView;
//从列表创建成功消息
string successsg=“成功!您的邀请已发送到“+lstPassedValues[0]+”“+lstPassedValues[1]+”(“+lstPassedValues[2]+”);
lblNewInviteSuccess.Text=successsg;
mpeNewInviteSuccess.Show();
}
受保护的void lsvNewInvite_ItemCommand(对象发送方,ListViewCommandEventArgs e)
{
如果(如CommandName==“插入”)
{
//将光标放在txtFirstName中
var lsv=Helpers.FindChild(这是“lsvNewInvite”)作为ListView;
TextBox txt=Helpers.FindChild(lsv,“txtFriendFirstName”)作为TextBox;
如果(txt!=null)
txt.Focus();
//设置参数值
ListViewItem item=e.项目作为ListViewItem;
var userInfoList=UserInfo.UserInfoGetByUserID(UserID);
UserInformation=userInfoList.FirstOrDefault();
var user=UserInformation.UserID;
字符串firstName=(item.FindControl(“txtFriendFirstName”)作为文本框);
字符串lastName=(item.FindControl(“txtFriendLastName”)作为文本框);
字符串eMail=(item.FindControl(“txtFriendEmail”)作为TextBox.Text.ToString();
尝试
{
//要插入数据库的代码
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();
}
捕获(例外情况除外)
{
掷骰子;
}
最后
{
EmailNewInvitee(名字、姓氏、电子邮件);
//连接这些值并使其成为逗号分隔的字符串
字符串concatenatedValue=firstName+“,“+lastName+”,“+eMail;
btnDummy.CommandArgument=concatenatedValue;
//通过编程方式“单击”隐藏按钮显示成功消息
//触发按钮点击事件
btnDummy\u单击(this.btnDummy,e);
pnlMain.Visible=false;
}
}
}
在“Brand X”网站(好的,forums.asp.net)上的一位好心人的帮助下,我解决了这个问题,如下代码所示。主要的答案是使用UpdatePanel。我以前使用过UpdatePanel,但没有成功,所以我不确定这次是什么造成了不同
<asp:UpdatePanel ID="udpModalSuccess" runat="server">
<ContentTemplate>
<%--success popup items--%>
<div style="display: none;">
<asp:Button ID="btnDummy" UseSubmitBehavior="true" OnClientClick="ShowModalPopup" OnClick="btnDummy_Click" runat="server" />
<%--Dummy Button added to assign the target controlid of PopupExtender--%>
<asp:Button ID="btnDummyButton" UseSubmitBehavior="true" runat="server" Text="DummyButton" Style="display: none;" />
</div>
<asp:Panel ID="pnlNewInviteSuccess" class="modalPopup" runat="server">
<div><asp:Label ID="lblNewInviteSuccess" runat="server" /></div>
<br />
<div><asp:Button ID="btnNewInviteReturn" Text="OK" CssClass="button" runat="server" /></div>
</asp:Panel>
<%--Here I have changed the TargetControlID property--%>
<act:ModalPopupExtender ID="mpeNewInviteSuccess" TargetControlID="btnDummyButton" CancelControlID="btnNewInviteReturn"
BackgroundCssClass="modalBackground" PopupControlID="pnlNewInviteSuccess" DropShadow="true"
BehaviorID="mpe" runat="server">
</act:ModalPopupExtender>
</ContentTemplate>
</asp:UpdatePanel>
<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: 450px;}
</style>
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 them 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;
pnlNewInviteSuccess.Visible = true;
}
}
}
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:<br><b> " + lstPassedValues[0] + " " + lstPassedValues[1] + " (" + lstPassedValues[2] + "</b>)";
lblNewInviteSuccess.Text = SuccessMsg;
//assign TargetControl id of ModalPopUpExtender to btnDummy
mpeNewInviteSuccess.TargetControlID = "btnDummy";
//show ModalPopup Extender
mpeNewInviteSuccess.Show();
}
莫达尔巴基德先生
{背景色:灰色;过滤器:alpha(不透明度=70);不透明度:0.7;}
莫达尔波普先生
{背景色:#ffffdd;边框宽度:3px;边框样式:纯色;边框颜色:灰色;填充:3px;宽度:450px;}
受保护的void lsvNewInvite_ItemCommand(对象发送方,ListViewCommandEventArgs e)
{
如果(如CommandName==“插入”)
{
//将光标放在txtFirstName中
var lsv=Helpers.FindChild(这是“lsvNewInvite”)作为ListView;
TextBox txt=Helpers.FindChild(lsv,“txtFriendFirstName”)作为TextBox;
如果(txt!=null)
txt.Focus();
//设置参数值
ListViewItem item=e.项目作为ListViewItem;
var userInfoList=UserInfo.UserInfoGetByUserID(UserID);
UserInformation=userInfoList.FirstOrDefault();
var user=UserInformation.UserID;
字符串firstName=(item.FindControl(“txtFriendFirstName”)作为文本框);
字符串lastName=(item.FindControl(“txtFriendLastName”)作为文本框);
字符串eMail=(item.FindControl(“txtFriendEmail”)作为TextBox.Text.ToString();
尝试
{
//要插入数据库的代码
srcNewInvite.InsertParameters[“FriendID”].DefaultValue=“0”;
srcNewInvite.InsertParameters[“User”].DefaultValue=User.ToString();
srcNewInvite.InsertParameters[“FirstName”].DefaultValue=f