用ASP.NET服务器控件显示div的正确方法

问题描述:

我用ASP.NET服务器按钮隐藏了div。我通过复制innerHTML通过JavaScript在页面上显示该div的内容为模式窗口,但该div上的按钮不会触发服务器事件。谁知道如何解决这个问题?
谢谢用ASP.NET服务器控件显示div的正确方法

+0

你能提供一些代码吗? – 2010-12-21 15:38:14

+0

你能告诉我们一些代码吗?重现问题的最小量。如果这些按钮是服务器控制按钮,并且与服务器端的点击事件绑定,那么无论客户端在JavaScript中做出何种样式更改,它们都应该正常工作,所以我很好奇你是如何实现这一结果的。 – David 2010-12-21 15:39:10

第一个猜测是innerHtml不是启动事件所需的代码的完整副本。

也许克隆节点呢?

+0

是的,我应该使用appendChild来代替innerHTML。一切都很完美。谢谢! – ihorko 2010-12-21 15:45:43

+0

不幸的是,它仍然不会触发服务器上的事件,但通过ValidationGroup检查所有验证器!窒息。 – ihorko 2010-12-21 16:03:29

确保您的隐藏div位于<asp:Form></asp:Form>标记块内。

有很多代码。

例子是:

<div id='divHidden' style='display:none'> <div id='divcontentToShow'> 
<!-- here is asp.net button --> 
<asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" /> 
</div> </div> 

因此,在服务器上btnSubmit_Click事件时不divcontentToShow的内容复制到其他分区既不使用appendChild也不innerHTML的方式解雇。