0

我正在将 1.1 Web 应用程序升级到 4.0,并且遇到了自定义用户控件的 page_load 触发两次的问题,两者都被视为非回发(IsPostBack 在这种情况下为假)。我已经阅读过,似乎有 2 个罪魁祸首,1 是 img 标签,在 src 部分中没有任何内容(此页面上根本没有图像)或 2 AutoEventWireup 和 Handles 正在使用的问题同时。我查看了所有代码,其中根本没有 Handles 关键字,并且 AutoEventWireUp 在每个页面上都设置为 true,但我仍然遇到这个问题。这是一些来源

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
    If Not IsPostBack Then
    End If
End Sub

和宣言

<%@ Control Language="vb" CodeBehind="UCHeader.ascx.vb" Inherits="PO.Web.UCHeader"
AutoEventWireup="true" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>

如果需要,我可以显示更多来源。谢谢您的帮助。

4

1 回答 1

0

我建议设置 AutoEventWireup = false。阅读本文,因为 aspx 框架根据方法名称/签名调用方法,并且 autoeventwireup 正在生成代码以绑定它们被调用两次的事件。至少这是 .net/visual studio 早期版本中的行为,我没有发现任何说明 Visual Studio 2010 中是否存在这种情况的信息。

于 2012-06-18T19:40:10.770 回答