Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

ASP.Net Fehler: WithEvents Variable xxx definiert implizit yyy, was einen Konflikt mit einem Member mit dem gleichen Namen in class UcControl verursacht.


Fehlermeldung im Compiler Visual Studio
Fehler 3
WithEvents Variable "lnkImage" definiert implizit "_lnkImage", was einen Konflikt mit einem Member mit dem gleichen Namen in class "UcListItem_Main" verursacht.
C:\_Daten\Desktop\Web\Programmierer\_UserControls\UcListItem_Main.ascx.designer.vb
Programmierer

Der Fehler wird in einem UserControl ausgegeben, das ich per Code-behind Datei beschreiben möchte.



Ursache:
In ASP.Net werden die angezeigten Benutzersteuerelemente mit protected im designer erstellt.
Dadurch darf man in der Code-Behind Datei nicht einfach mit Public myControl = XAML_Control zuweisen
Public _ctlImage As Image = ctlImage

Diese Verwendung wäre zwar praktisch, erzeugt aber einen Fehler bei der Kompilierung
Da man das Public direkt mit dem Protected Element gleichsetzt.


In meinem UserControl ist fälschlicher Weise folgendes mein erster Ansatz gewesen:
Erstelle eine öffentliche Kopie eines Controls, das man im UserControl verwendet, und greife dann von extern zu.
Leider geht das so nicht.

Public Class UcListItem_Main
Inherits System.Web.UI.UserControl

#Region "Controls"
'------------< Controls >------------
'*nach aussen sichtbar Controls
Public _ctlImage As Image = ctlImage
Public _lnkImage As HyperLink = lnkImage
Public _lnkTitle As HyperLink = lnkTitle
Public _lblDtCreated_Visits As Label = lblDtCreated_Visits
Public _txtMain As Literal = txtMain
'------------</ Controls >------------
#End Region


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub


End Class



Die Steuerelemente, die ich in der XAML Datei entworfen habe, werden in der Datei UserControl.designer.vb
Eigentlich erstellt. Und hier zeigt der Compiler vor jeder Protected Zeile einen Fehler

Partial Public Class UcListItem_Main

'''<summary>
'''lnkImage-Steuerelement
'''</summary>
'''<remarks>
'''Automatisch generiertes Feld
'''Um dies zu ändern, verschieben Sie die Felddeklaration aus der Designerdatei in eine Code-Behind-Datei.
'''</remarks>
Protected WithEvents lnkImage As Global.System.Web.UI.WebControls.HyperLink

Protected WithEvents ctlImage As Global.System.Web.UI.WebControls.Image

Protected WithEvents lnkTitle As Global.System.Web.UI.WebControls.HyperLink

Protected WithEvents lblDtCreated_Visits As Global.System.Web.UI.WebControls.Label

Protected WithEvents txtMain As Global.System.Web.UI.WebControls.Literal
End Class




Lösung:
Man muss auf die Elemente mit Properties des UserControls zugreifen, lesen und schreiben
Dabei kann man dann auch gleich den Effekt benutzen, dass man bei einer Text-Eingabe, den Text direkt in
Die .Text Eigenschaft eines Label Controls schreibt.
Public WriteOnly Property Text() As String
Set(ByVal value As String)
txtMain.Text = value
End Set
End Property
Mobile
»
ASP.Net Error -2147467259: Fehler beim Ausführen der untergeordneten Anforderung für Datei.aspx
»
MediaPlayer Video läuft aber es wird kein Bild angezeigt
»
ASP.Net Fehler: WithEvents Variable xxx definiert implizit yyy, was einen Konflikt mit einem Member mit dem gleichen Namen in class UcControl verursacht.

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de