Ali*_*Ali 3 html javascript asp.net jquery textbox
我在 < div> 标记中有 Asp.net 文本框,单击“btnReply”后,< div> 通过 Jquery 对话框显示,因此用户在文本框中写下想法,然后单击“发送”按钮(jquery 对话框按钮)并发回。
但服务器端的 asp.net 文本框值为 null 。为什么 ?我的代码在这里:
<div id="ReplyDiv" style="display:none;">
<asp:TextBox ID="txtReply" runat="server" Textmode="MultiLine"/>
</div>
<input type="button" id="btnReply" onclick="javascript:retuen ShowReplyDialog();"/>
<asp:Button ID="AspBtnReply" runat="server" OnClick="AspBtnReply_Click" class="hidden"/>
/*-----Jquery script----*/
<script type="text/javascript">
function ShowReplyDialog()
{
$("#ReplyDiv").dialog({
width: 580,
buttons: {
"Close": function () { $(this).dialog("close");} ,
"Send" : function () {
//----Call Asp.net server method here
$("#<%=AspBtnReply.ClientID %>").click();
}
}
}).parent().appendTo($("form:first"));
}
</script>
Run Code Online (Sandbox Code Playgroud)
经过大量搜索后,我明白有一些原因:
我可以解决它 **Jquery UI 对话框需要 z-index 样式 ** 。我是说 :
<style>
.ui-widget-overlay
{
z-index:0;
}
</style>
Run Code Online (Sandbox Code Playgroud)
并且需要jquery:
$("#..").dialog(.....).parent().parent().appendTo($("form:first"));
Run Code Online (Sandbox Code Playgroud)我已经有一段时间没有使用 UpdatePanels 了,但我相信在部分回发时,它们只发送其中控件的更新值。因此,将 TextBox 移至 UpdatePanel 内,或者在更新时使用 Javascript 将 TextBox 的上下文填充到 UpdatePanel 内的隐藏控件。item
要获取后面代码中的输入值并通过服务器控件机制 (textBox.Text) 访问它们,它们的状态(和存在)需要保留在 ViewState 中。由于您使用 javascript 构建它们,因此它们的状态不会持久,获取它们值的唯一方法是使用 Request.Form 集合。
这个问题说最好的提示:jQuery Dialog-Postback 但 UpdatePanel 没有更新**
对于禁用控件是最好的问题: 检索 asp:TextBox 的值
归档时间: |
|
查看次数: |
8505 次 |
最近记录: |