【问题标题】:Handles clause requires a WithEvents CallbackHandles 子句需要 WithEvents 回调
【发布时间】:2020-01-17 02:52:49
【问题描述】:

CallbackUpdateSchema.Callback 中的错误

BC30506 Visual Basic AND ASP.net Handles 子句需要在包含类型或其基类型之一中定义的 WithEvents 变量。回调

Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.Xpo.DB

Public Class UpdateSchema
    Inherits System.Web.UI.Page

Dim uow As UnitOfWork

Private Sub Page_Init(sender As Object, e As EventArgs) Handles Me.Init
    uow = XpoHelper.GetNewUnitOfWork
End Sub

Protected Sub CallbackUpdateSchema_Callback(source As Object, e As DevExpress.Web.CallbackEventArgs) Handles CallbackUpdateSchema.Callback
    uow.UpdateSchema()
    uow.CreateObjectTypeRecords()
End Sub

End Class

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="UpdateSchema.aspx.vb" %>

<%@  Register assembly="DevExpress.Xpo.v18.2, Version=18.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"  namespace="DevExpress.Xpo" tagprefix="dx" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>   
        <dx:ASPxButton ID="ASPxButtonUpdateSchema" runat="server" AutoPostBack="False" Text="Update Schema">
            <ClientSideEvents Click="function(s, e) {CallbackUpdateSchema.PerformCallback();}" />
        </dx:ASPxButton>
        <dx:ASPxCallback ID="CallbackUpdateSchema" runat="server" ClientInstanceName="CallbackUpdateSchema">
        </dx:ASPxCallback>

    </div>
    </form>
</body>
</html>

【问题讨论】:

  • 我认为你不能在类定义中处理事件。事件的处理通常由对象的用户完成。是否有可以替代的可覆盖属性?
  • 我不认为有一个我可以使用的可覆盖属性。
  • 我不熟悉这个类,但是构造函数中是否引发了Init事件?如果是这样,请在构造函数中调用 MyBase.New 和 Page_Init。现在我很好奇——构造函数可以引发事件吗?

标签: asp.net vb.net devexpress xpo


【解决方案1】:

使用可重写方法 OnInit

https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.page.oninit?view=netframework-4.8#System_Web_UI_Page_OnInit_System_EventArgs_

事件是为用户设计的。对于子类化,您应该改用可覆盖的方法。

Protected Overrides Sub OnInit(e As EventArgs)
   MyBase.OnInit()
    uow = XpoHelper.GetNewUnitOfWork
End Sub

【讨论】:

  • 感谢您帮助我...但出现错误:“重载解析失败,因为没有可访问的参数接受此数量的参数。”在文本 OnInit() 和“Handles 子句需要 WithEvents”仍然错误
  • 您删除了发件人吗?
  • 那是什么?
  • OnMethod 覆盖没有像 Method 事件那样的 sender 参数。 OnInit 只有 e。还要确保在子例程声明之后删除“handles MyBase.Init”。
  • 哦,不,我没有删除发件人,但仍然出错:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-02
  • 1970-01-01
  • 2011-01-13
  • 2023-03-20
  • 1970-01-01
相关资源
最近更新 更多