Ich suche ein Benutzer/Server-Steuerelement zu erstellen, die mit so etwas wie die folgenden erstellt werden:Erstellen eines ASP.NET-Benutzer/Server-Steuerelements, das eine Liste von asp: ListItem als untergeordnete Steuerelemente verwendet?
<my:MyListControl runat="server">
<asp:ListItem Text="Test1" Value="Test1" />
<asp:ListItem Text="Test2" Value="Test2" />
</my:MyListControl>
ich hier für einen Start der Suche bin gerade: Artikel oder Codebeispiele.
Welche Basisklasse sollte ich erben? Was ist zu übersteuern?
Möglicherweise wie Sie anpassen, welche Unterelemente mein Steuerelement akzeptiert (my: ListItem statt asp: ListItem).
Was ich tun möchte, ist eine sehr einfache Brotkrumen Kontrolle für einen kleinen Abschnitt meiner Website zu erstellen. Ich habe alles mit Aktien-ASP.NET-Steuerelemente arbeiten, aber die Elemente werden in Code hinzugefügt, was bedeutet, dass das Korrigieren eines Rechtschreibfehlers oder Formatierungsfehlers eine Neukompilierung beinhaltet, was nicht ideal ist.
EDIT:
Hier ist mein Code mit dem Zusatz Vorschlag Josh unter:
Namespace MySite.Controls Teil Klasse Breadcrumbs Erbt Usercontrol
Private m_BreadCrumbs As New List(Of BreadCrumbItem)
<PersistenceMode(PersistenceMode.InnerProperty)> _
Public Property Items() As List(Of BreadCrumbItem)
Get
Return m_BreadCrumbs
End Get
Set(ByVal value As List(Of BreadCrumbItem))
m_BreadCrumbs = value
End Set
End Property
Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Bind()
End Sub
Private Sub Bind()
lvCrumbs.DataSource = Items
Me.DataBind()
End Sub
End Class
Public Class BreadCrumbItem
Private m_Text As String
Public Property Text() As String
Get
Return m_Text
End Get
Set(ByVal value As String)
m_Text = value
End Set
End Property
Private m_Url As String
Public Property Url() As String
Get
Return m_Url
End Get
Set(ByVal value As String)
m_Url = value
End Set
End Property
End Class
End Namespace
Dann Mein Seitencode sieht so aus:
<%@ Page Language="VB" AutoEventWireup="false" Inherits="MySite.MyPage" Title="My Page" Codebehind="MyPage.aspx.vb" %>
<%@ Register TagPrefix="my" Namespace="MySite.Controls" Assembly="MySite" %>
<my:BreadCrumbs ID="breadcrumbs" runat="server">
<Items>
<my:BreadCrumbItem Text="Another page" Url="AnotherPage.aspx" />
</Items>
</my:BreadCrumbs>
Wie hoch ist das HTML-Markup-Ziel? Etwas wie:
Ja, der HTML-Code, den ich ausspucke, ist ul/li. Es gibt keine Notwendigkeit für asp: ListItem, wusste nur nicht, was sonst noch zu nennen, wenn ich die Frage – slolife