Asp.net 在UpdatePanel中提交后隐藏Div
我在Asp.net 在UpdatePanel中提交后隐藏Div,asp.net,ajax,webforms,updatepanel,Asp.net,Ajax,Webforms,Updatepanel,我在UpdatePanel中有一个div,当用户单击编辑链接时,会显示该div。要保存的提交按钮位于该分区内。现在,当用户单击“提交”按钮时,一切正常,但该分区自动隐藏!使用jQuery的show()更改客户端的可见性 为什么UpdatePanel会隐藏我的div,即使它是由我显示的?我试图设置runat='server'并启用viewstate,但得到了相同的结果 我如何告诉UpdatePanel将div`保留为提交之前的状态 下面是一个显示问题的小项目: <asp:ScriptMana
UpdatePanel
中有一个div
,当用户单击编辑链接时,会显示该div。要保存的提交按钮位于该分区内。现在,当用户单击“提交”按钮时,一切正常,但该分区自动隐藏!使用jQuery的show()
更改客户端的可见性
为什么UpdatePanel
会隐藏我的div
,即使它是由我显示的?我试图设置runat='server'
并启用viewstate,但得到了相同的结果
我如何告诉UpdatePanel将
div`保留为提交之前的状态
下面是一个显示问题的小项目:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<a href="#" id="edit-link">edit</a>
</div>
<div id="edit-div" style="display:none; border: 2px black solid;">
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</form>
<script>
$(document).ready(function(){
$('#edit-link').on('click', function () {
$('#edit-div').show();
});
});
</script>
此问题的最简单解决方案是:-
编辑div
编辑div
成为服务器控件
转换为
控件,并在其服务器端单击事件中显示编辑divedit div
不是服务器控件,您通过客户端脚本显示它,UpdatePanel不知道这一点,并将始终返回原始标记
在这些场景中,有一些方法可以让jQuery很好地使用UpdatePanel,但它比上面简单的解决方案更复杂
希望有帮助
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = DateTime.UtcNow.ToString();
}