Je tente de créer un contrôle personnalisé, chargé dynamiquement à partir du code .vb.ASP .net: enregistrer le contrôle personnalisé à partir du code .vb
Voici mon contrôle personnalisé "ControlCar" dans le fichier "controlcar.ascx"
<%@ Control Language="VB" ClassName="ControlCar" %>
<script runat="server">
Private m_car As Car = Nothing
Public Property Car() As Car
Get
Car= m_car
End Get
Set(ByVal value As Car)
m_car = value
End Set
End Property
Protected Sub Panel_OnLoad(ByVal sender As Object, ByVal e As System.EventArgs)
If Me.m_car Is Nothing Then
lit_color.Text = "(m_car Is Nothing)"
Else
lit_color.Text = "color of Me.m_car is (" & Me.m_car.Color & ")"
End If
End Sub
</script>
<asp:Panel ID="panel" OnLoad="Panel_OnLoad" runat="server">
this is a car<br />
color = <asp:Literal ID="lit_color" runat="server"></asp:Literal><br />
<br />
</asp:Panel>
Voici ma page web ASP dans le fichier "cars.aspx" qui utilisent .vb code pour les événements, ...
<%@ Page Language="vb" Explicit="true" Inherits="PageBase" Src="/code/cars.vb"%>
<html>
<body>
<!-- Html code here --->
<asp:panel ID="panel_cars" runat="server">
</asp:panel>
</body>
Et voici mon code .vb dans le fichier "cars.vb"
Private Sub CreateCar()
Dim car As Car = new Car()
Dim control As ControlCar = Nothing
control= CType(LoadControl("/code/controlcar.ascx"), ControlCar)
control.Car = car
panel_cars.Controls.Add(control)
End Sub
Mais il fa ils, en disant «ControlCar» n'est pas reconnu dans cars.vb.
Je sais que cela fonctionne, si le code de déplacement dans le fichier .aspx et en utilisant la directive
<%@ Register TagPrefix="uc" TagName="ControlCar" Src="/code/controlcar.ascx" %>
Mais je dois séparer le code .vb et le code .aspx comme dans mon exemple.
Comment puis-je faire reconnaître le type 'ControlCar' (défini dans .ascx) dans le fichier .vb?
En code .vb?! <% @ Reference%> est un code ASP. – TheFrancisOne
@TheFrancisOne La question concerne ASP.NET. Avez-vous vraiment voté pour cela? –