2012-02-16 10 views
-1

このユーザーコントロールを作成しました。サーバーコントロールのイベントクリックは発生しません。

Imports SAAQ.Utl.W00692BaseControle 
Imports System.ComponentModel 
Imports System.Web.UI.WebControls 
Imports System.Web.UI 

<ToolboxData("<{0}:CWNavigation runat=""server""></{0}:CWNavigation>")> _ 
<DefaultProperty("Id")> _ 
Public Class CWNavigation 
    Inherits WebControl 

    Private _message As String 

#Region "Événements" 

    ''' <summary> 
    ''' Événement qui représente le comportement de se rendre à la section suivante. 
    ''' </summary> 
    <Browsable(True)> _ 
    Public Event ActionSectionSuivante As EventHandler 

    ''' <summary> 
    ''' Événement qui représente le comportement de se rendre à la section précédente. 
    ''' </summary> 
    <Browsable(True)> _ 
    Public Event ActionSectionPrecedente As EventHandler 

    ''' <summary> 
    ''' Événement qui représente le comportement de revenir à la première section. 
    ''' </summary> 
    <Browsable(True)> _ 
    Public Event ActionRetourPremiereSection As EventHandler 

    ''' <summary> 
    ''' Événement qui représente le comportement de ser endre à une section spécifique. 
    ''' </summary> 
    <Browsable(True)> _ 
    Public Event ActionSectionSpecifique As EventHandler 

    ''' <summary> 
    ''' Événement qui représente le comportement d'ouverture d'une nouvelle fenêtre. 
    ''' </summary> 
    <Browsable(True)> _ 
    Public Event ActionOuvrirNouvelleFenetre As EventHandler 

    ''' <summary> 
    ''' Événement qui représente le comportement de lancement d'impression. 
    ''' </summary> 
    <Browsable(True)> _ 
    Public Event ActionLancerImpression As EventHandler 

    ''' <summary> 
    ''' Événement qui représente le comportement de quitter le service. 
    ''' </summary> 
    <Browsable(True)> _ 
    Public Event ActionQuitter As EventHandler 

    ''' <summary> 
    ''' Événement qui représente un comportement personnalisé. 
    ''' </summary> 
    <Browsable(True)> _ 
    Public Event ActionPersonnalise As EventHandler 

    ''' <summary> 
    ''' Gérer les événements de Click de toutes les boutons de commandes du contrôle. 
    ''' </summary> 
    ''' <param name="sender">Source de l'événement.</param> 
    ''' <param name="e">Données sur l'événement.</param> 
    ''' <remarks>S'occupe de lancer les événements au service.</remarks> 
    Protected Sub Bouton_Click(ByVal sender As Object, ByVal e As EventArgs) _ 
     Handles _btnSectionSuivante.Click, _ 
       _btnSectionPrecedente.Click, _ 
       _btnRetourPremiereSection.Click, _ 
       _btnSectionSpecifique.Click, _ 
       _btnLancerImpression.Click, _ 
       _btnQuitter.Click, _ 
       _btnPersonnaliser.Click 

     _message = "abc" 

     ' Déterminer quel bouton a été cliqué. 
     Dim bouton As Button = CType(sender, Button) 

     ' En fonction du bouton cliqué, envoyer l'événement associé. 
     Select Case bouton.ID 
      Case _btnSectionSuivante.ID 
       RaiseEvent ActionSectionSuivante(sender, e) 
      Case _btnSectionPrecedente.ID 
       RaiseEvent ActionSectionPrecedente(sender, e) 
      Case _btnRetourPremiereSection.ID 
       RaiseEvent ActionRetourPremiereSection(sender, e) 
      Case _btnSectionSpecifique.ID 
       RaiseEvent ActionSectionSpecifique(sender, e) 
      Case _btnLancerImpression.ID 
       RaiseEvent ActionLancerImpression(sender, e) 
      Case _btnQuitter.ID 
       RaiseEvent ActionQuitter(sender, e) 
      Case _btnPersonnaliser.ID 
       RaiseEvent ActionPersonnalise(sender, e) 
      Case Else 

     End Select 

    End Sub 

#End Region 

#Region "Membres" 

    Private WithEvents _btnSectionSuivante As Button = New Button() 
    Private WithEvents _btnSectionPrecedente As Button = New Button() 
    Private WithEvents _btnRetourPremiereSection As Button = New Button() 
    Private WithEvents _btnSectionSpecifique As Button = New Button() 
    Private WithEvents _btnLancerImpression As Button = New Button() 
    Private WithEvents _btnOuvrirNouvelleFenetre As CWBoutonOuvrirFenetre = New CWBoutonOuvrirFenetre() 
    Private WithEvents _btnQuitter As Button = New Button() 
    Private WithEvents _btnPersonnaliser As Button = New Button() 

#End Region 

#Region "Constructeur" 

    ''' <summary> 
    ''' Constructeur par défaut. 
    ''' </summary> 
    Public Sub New() 

    End Sub 

#End Region 

#Region "Propriétés" 

    ''' <summary> 
    ''' Obtenir le bouton qui lance le comportement "SectionSuivante". 
    ''' </summary> 
    Public ReadOnly Property BoutonSectionSuivante() As Button 
     Get 
      Return _btnSectionSuivante 
     End Get 
    End Property 

    ''' <summary> 
    ''' Obtenir le bouton qui lance le comportement "SectionPrecedente". 
    ''' </summary> 
    Public ReadOnly Property BoutonSectionPrecedente() As Button 
     Get 
      Return _btnSectionPrecedente 
     End Get 
    End Property 

    ''' <summary> 
    ''' Obtenir le bouton qui lance le comportement "RetourPremiereSection". 
    ''' </summary> 
    Public ReadOnly Property BoutonRetourPremiereSection() As Button 
     Get 
      Return _btnRetourPremiereSection 
     End Get 
    End Property 

    ''' <summary> 
    ''' Obtenir le bouton qui lance le comportement "SectionSpecifique". 
    ''' </summary> 
    Public ReadOnly Property BoutonSectionSpecifique() As Button 
     Get 
      Return _btnSectionSpecifique 
     End Get 
    End Property 

    ''' <summary> 
    ''' Obtenir le bouton qui lance le comportement "LancerImpression". 
    ''' </summary> 
    Public ReadOnly Property BoutonLancerImpression() As Button 
     Get 
      Return _btnLancerImpression 
     End Get 
    End Property 

    ''' <summary> 
    ''' Obtenir le bouton qui lance le comportement "OuvrirNouvelleFenetre". 
    ''' </summary> 
    Public ReadOnly Property BoutonOuvrirNouvelleFenetre() As CWBoutonOuvrirFenetre 
     Get 
      Return _btnOuvrirNouvelleFenetre 
     End Get 
    End Property 

    ''' <summary> 
    ''' Obtenir le bouton qui lance le comportement "Quitter". 
    ''' </summary> 
    Public ReadOnly Property BoutonQuitter() As Button 
     Get 
      Return _btnQuitter 
     End Get 
    End Property 

    ''' <summary> 
    ''' Obtenir le bouton qui lance le comportement "Personnalise". 
    ''' </summary> 
    Public ReadOnly Property BoutonPersonnalise() As Button 
     Get 
      Return _btnPersonnaliser 
     End Get 
    End Property 

#End Region 

#Region "Méthodes publiques" 

    ''' <summary> 
    ''' Initialise toutes les boutons de commandes à leur état d'origine. 
    ''' </summary> 
    Public Sub InitialiserBoutonsNavigation() 
     _btnSectionSuivante.Visible = False 
     _btnSectionPrecedente.Visible = False 
     _btnRetourPremiereSection.Visible = False 
     _btnSectionSpecifique.Visible = False 
     _btnLancerImpression.Visible = False 
     _btnOuvrirNouvelleFenetre.Visible = False 
     _btnQuitter.Visible = False 
     _btnPersonnaliser.Visible = False 
    End Sub 

    Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter) 
     MyBase.Render(writer) 

     _btnSectionSuivante.RenderControl(writer) 
     _btnSectionPrecedente.RenderControl(writer) 
     _btnRetourPremiereSection.RenderControl(writer) 
     _btnSectionSpecifique.RenderControl(writer) 
     _btnLancerImpression.RenderControl(writer) 
     _btnOuvrirNouvelleFenetre.RenderControl(writer) 
     _btnQuitter.RenderControl(writer) 
     _btnPersonnaliser.RenderControl(writer) 

     writer.Write(_message & "MSG") 
    End Sub 

#End Region 

    Protected Overrides Sub OnInit(ByVal e As System.EventArgs) 
     MyBase.OnInit(e) 

     _btnSectionSuivante.CssClass = "UtlCBtn" 
     _btnSectionSuivante.Width = New Unit(100, UnitType.Pixel) 
     _btnSectionSuivante.ID = "btnSectionSuivante" 
     _btnSectionSuivante.PostBackUrl = "" 

     _btnSectionPrecedente.CssClass = "UtlCBtn" 
     _btnSectionPrecedente.Width = New Unit(100, UnitType.Pixel) 
     _btnSectionPrecedente.ID = "btnSectionPrecedente" 
     _btnSectionPrecedente.PostBackUrl = "" 

     _btnRetourPremiereSection.CssClass = "UtlCBtn" 
     _btnRetourPremiereSection.Width = New Unit(100, UnitType.Pixel) 
     _btnRetourPremiereSection.ID = "btnRetourPremiereSection" 
     _btnRetourPremiereSection.PostBackUrl = "" 

     _btnSectionSpecifique.CssClass = "UtlCBtn" 
     _btnSectionSpecifique.Width = New Unit(100, UnitType.Pixel) 
     _btnSectionSpecifique.ID = "btnSectionSpecifique" 
     _btnSectionSpecifique.PostBackUrl = "" 

     _btnLancerImpression.CssClass = "UtlCBtn" 
     _btnLancerImpression.Width = New Unit(100, UnitType.Pixel) 
     _btnLancerImpression.ID = "btnLancerImpression" 
     _btnLancerImpression.PostBackUrl = "" 

     _btnOuvrirNouvelleFenetre.CssClass = "UtlCBtn" 
     _btnOuvrirNouvelleFenetre.Width = New Unit(100, UnitType.Pixel) 
     _btnOuvrirNouvelleFenetre.ID = "btnOuvrirNouvelleFenetre" 

     _btnQuitter.CssClass = "UtlCBtn" 
     _btnQuitter.Width = New Unit(120, UnitType.Pixel) 
     _btnQuitter.ID = "btnQuitter" 
     _btnQuitter.PostBackUrl = "" 

     _btnPersonnaliser.CssClass = "UtlCBtn" 
     _btnPersonnaliser.Width = New Unit(100, UnitType.Pixel) 
     _btnPersonnaliser.ID = "btnPersonnaliser" 
     _btnPersonnaliser.PostBackUrl = "" 

     InitialiserBoutonsNavigation() 

    End Sub 

End Class 

ただし、メソッドButton_Clickは、メソッドのボタンをクリックすると呼び出されません。詳細イベントは発生しません。

なぜですか?私は何かが欠けている?

+0

-1投稿する_everything_。 _relevant_コードだけを投稿してください。クリックイベントを発生させていないことを私たちに知らせないためです。 – Oded

+0

ええ、私は知っているが、ファイル全体がむしろ問題を見つけるのに適している。私はファイル全体を投稿していない場合は、誰かがそれを求めていると確信しています。 Clickイベントを発生させないすべてのボタン。 – Rushino

+0

おそらくCompositeControlクラスからこのようなものを継承したいと思うでしょう。 – N0Alias

答えて

0

解決策が見つかりました。私は、動的に作成されたボタンを追加するためにControls.Add(..)を使用しなければならなかった。

関連する問題