为什么IE不一个JS调用点击按钮后刷新页面?

在ASP.Net页,我只用IE面前的一道难题。 这里是描述。

上的页,有两个按钮和一个标签。 第一个按钮是可见的,并呼吁click事件一个JS的功能。 这个JS函数调用的第二个按钮的点击功能。 第二个按钮对单击事件的ç€事件处理程序。 C#的事件处理程序编辑的标签。

在Firefox中:将标签正确后,点击编辑。 在IE(8):标签是不是编辑,尽管Ç€​​事件处理程序已经正确击中。

另外,我发现,在IE浏览器,该Page_Load事件是JS按钮点击后两次叫:Page_Load中button2_OnClick =>标签文本的Page_Load =>标签文本的变化是复位:(

在Firefox中,在Page_Load只调用一次。

我的问题是:如何让IE正确地刷新页面中的JS按钮后,如Firefox没有点击?

下面是示例测试代码:

1)ASPX页面

<head runat="server"> <title></title> <script type="text/javascript"> function button1Click(sender, args) { var button2 = document.getElementById("button2"); button2.click(); } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:Button runat="server" ID="button1" Text="Click-me!" OnClientClick="button1Click();" /> <asp:Button runat="server" ID="button2" Text="Second" OnClick="button2_OnClick" style="display:none" /> <p /> <asp:Label runat="server" ID="label1" Text="Init" /> </div> </form> </body> </html>

2)C#代码隐藏:

public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void button2_OnClick(object sender, EventArgs e) { label1.Text = "Changed"; } }

--------------解决方案-------------

当它呈现在按钮的ID将不会被BUTTON1或按钮2。 它可能会是这样的ctl001_button1。 因此,您的JavaScript将无法工作。 在ASP.NET 4中,您可以通过使用指定的客户端ID覆盖此行为。

<asp:Button runat="server" ID="button1" Text="Click-me!"
OnClientClick="button1Click();" ClientIDMode="Static" />
<asp:Button runat="server" ID="button2" Text="Second"
OnClick="button2_OnClick" style="display:none" ClientIDMode="Static" />

顺便说一句,这暗示与ASP.NET的WinForms的主要问题 - 它的技巧开发商误以为网络是一个连接的环境。

当您单击实际发生的<asp:Button />默认元素是一个回传被调用。 即您的浏览器向服务器发送一个请求,一个新的页面。 它发出了一些所谓的ViewState这是服务器如何知道要呈现什么你做了什么。 没有“事件”为这样的处理。

我认为这个问题是与您正在试图让隐藏的按钮的方式

var button2 = document.getElementById("button2");

也许更改为

var button2 = document.getElementById("<%= button2.ClientID %>");

按钮在浏览器中呈现后,ID是由ASP.Net引擎改变了,作为源不一样的。

http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx

希望这可以帮助。

分类:C# 时间:2013-08-24 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.350 (s). 9 q(s)