Page_Load打了两次

时间:2009-10-01 13:19:58

标签: asp.net

有没有人遇到过两次调用Page_Load方法的问题?我有一个有onclick事件的按钮。

2 个答案:

答案 0 :(得分:3)

您是否尝试过此Stack Overflow问题中列出的项目?

  

YUI Button Initiates Postback Twice

我们需要看到您的代码来帮助您。

要检查的事项:

  • AutoEventWireUp设置为true(如果您有Page_Load方法,请将其设置为false
  • 带有onclick事件的按钮是ASP.NET按钮还是JavaScript按钮?如果它是ASP.NET按钮,请尝试submit='false'作为按钮属性。如果它是启动javascript onclick的按钮,则在onclick事件中的其余JavaScript之后尝试return false();

我的问题:

  • 按钮的用途是什么?
  • 围绕它的完整代码是什么?
  • 设置的页面指令是什么?
  • 您使用的是第三方JavaScript吗?
  • AutoEventWireUp=true

我真的只是在没有你的代码的情况下在这个墙上投掷飞镖,所以这个答案可以根据你添加到你问题的代码进行更改/编辑。

答案 1 :(得分:1)

如果您的站点具有身份验证并且登录页面上发生了double-page_load,则您的login.aspx页面可能会使用匿名用户权限以外的资源。例如,如果您的web.config包含:

<authorization>
  <deny users="?"/>
</authorization>

并且您的login.aspx页面在/ style文件夹中使用.css文件,您需要添加:

<configuration>
    <!-- Other configuration elements... -->
    <location path="style">
        <system.web>
            <authorization>
                <allow users="*"/>
            </authorization>
        </system.web>
    </location>
</configuration>

测试这是否是您的问题的一个好方法是使用Firebug中的“Net”选项卡来观察请求。您还可以注释掉登录页面引用的任何图像和链接元素。

如果经过身份验证的用户没有获得您网站引用区域的权限,但是我没有对此进行测试,则此行为也可能发生在非login.aspx页面上。