gpt4 book ai didi

asp.net - JQuery BlockUI 与 UpdatePanel View 状态问题

转载 作者:行者123 更新时间:2023-12-01 05:10:21 24 4
gpt4 key购买 nike

我在 div 中有一个更新面板,我使用 JQuery 插件 BlockUI 对其进行模式化。 UpdatePanel 内部有一个文本框和一个按钮。当我在文本框中输入内容并单击按钮时,我无法检索文本框中的文本。当我调试时,它显示文本框没有值。

<asp:UpdatePanel ID="upTest" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<div id="divTest">
<asp:TextBox ID="txtTestVS" runat="server" /><br />
<asp:Button ID="cmdTest" Text="TEST" OnClick="cmdTest_Click" UseSubmitBehavior="false" runat="server" />
</div>
</ContentTemplate>
</asp:UpdatePanel>

服务器端:

protected void cmdTest_Click(object sender, EventArgs e)
{
string x = txtTestVS.Text;
}
<小时/>

这应该可以澄清事情。以下是该页面的全部内容。

<a href="javascript:$.blockUI({ message: $('#divTest') });">SHOW MODAL</a>

<div id="divTest">
<asp:UpdatePanel ID="upTest" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:TextBox ID="txtTestVS" runat="server" /><br />
<asp:Button ID="cmdTest" Text="TEST" OnClick="cmdTest_Click" UseSubmitBehavior="false" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</div>

最佳答案

这是对话框插件的常见问题。问题是,当内容放入 blockUI 容器中时,它会附加到元素中,而不再以提交到服务器的表单形式存在。要解决这个问题,您需要稍微编辑一下 blockUI 代码:

来源如下:http://github.com/malsup/blockui/blob/master/jquery.blockUI.js

改变这个:第262行:
var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el);
至:
var layers = [lyr1,lyr2,lyr3], $par = full ? $('form') : $(el);

还有这个:

第 382 行:
els = $('body').children().filter('.blockUI').add('body > .blockUI');
至:
els = $('form').children().filter('.blockUI').add('form > .blockUI');

这应该可以让你继续前进,并且文本框的值会通过。

(Nick Craver 的回复 https://stackoverflow.com/users/13249/nick-craver )

关于asp.net - JQuery BlockUI 与 UpdatePanel View 状态问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2269585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com