【发布时间】:2011-10-13 09:29:23
【问题描述】:
我正在向 ASP.NET 页面添加模式弹出窗口。弹出窗口会给用户一些文本框来填写,带有一个取消和提交按钮。
我遇到的问题是文本框是动态创建的,因为所需的文本框数量和它们要求的内容会根据页面上单击的内容而变化。当尝试检索在模式窗口上单击提交后输入的值时(未绑定到模式窗口,因此它将执行回发),文本框到那时已经消失并且无法检索数据。
这是模式弹出窗口的代码:
<div id="divModalContainer">
<div id="PromptContentHeader">
<asp:Label ID="lblHeader1" runat="server">
</asp:Label>
<br />
<asp:Label ID="lblHeader2" runat="server">
</asp:Label>
<asp:Label ID="lblPassFileName" runat="server">
</asp:Label>
</div>
<!--<ul id="ulTabModalPrompt" class="tabnav" runat="server">
</ul>-->
<div id="divModalPrompts" runat="server">
<table id="PromptTable" runat="server">
</table>
</div>
<div id="divModalButtons" style="width:230px;">
<div style="float:left">
<asp:Button ID="btnCancelDocPrompts" runat="server" Text="Cancel" OnClick="btnCancelDocPrompts_Click" />
</div>
<div style="float:right">
<asp:Button ID="btnSubmitDocPrompts" runat="server" Text="Submit" OnClick="btnSubmitDocPrompts_Click" />
</div>
</div>
</div>
</asp:Panel>
<ajaxtoolkit:ModalPopupExtender ID="modalDocPrompt" runat="server"
TargetControlID="btnOpenPromptWindow"
PopupControlID="panelPrompts"
OkControlID="btnHiddenOkButton"
CancelControlID="btnCancelDocPrompts"
BackgroundCssClass="ModalPromptBackground"
DropShadow="true" />
<asp:Button ID="btnOpenPromptWindow" runat="server" Text="Test Modal" Style="display: none;" />
<asp:Button ID="btnHiddenOkButton" runat="server" Text="Test Modal" Style="display: none;" />
在显示模式弹出窗口之前,行将被添加到 PromptTable,每行中都有一个标签和文本框。
btnSubmitDocPrompts_Click 方法将尝试遍历 PromptTable 中的每一行并检索输入的值,但是一旦单击提交,就没有行了。
感谢您的帮助!
【问题讨论】:
标签: c# asp.net dynamic postback modal-dialog