Tôi đang tìm kiếm để tạo ra một điều khiển người dùng/máy chủ đó sẽ được tạo ra với một cái gì đó như sau:Cách tạo điều khiển người dùng/máy chủ ASP.NET sử dụng danh sách asp: ListItem làm điều khiển con?
<my:MyListControl runat="server">
<asp:ListItem Text="Test1" Value="Test1" />
<asp:ListItem Text="Test2" Value="Test2" />
</my:MyListControl>
tôi chỉ tìm kiếm một sự khởi đầu ở đây: bài viết hoặc mẫu mã.
Tôi nên kế thừa lớp cơ sở nào? Những gì cần ghi đè?
Có thể làm cách nào để tùy chỉnh các mục phụ mà điều khiển của tôi chấp nhận (my: ListItem thay vì asp: ListItem).
Điều tôi muốn làm là tạo một điều khiển bánh mì rất đơn giản cho một phần nhỏ của trang web của tôi. Tôi có tất cả làm việc với kiểm soát chứng khoán ASP.NET, nhưng các mục được thêm vào trong mã, có nghĩa là sửa chữa một lỗi chính tả hoặc lỗi định dạng liên quan đến một biên dịch lại, đó không phải là lý tưởng.
EDIT:
Dưới đây là mã của tôi với việc bổ sung đề nghị của Josh dưới đây:
Namespace MySite.Controls Breadcrumbs partial class Inherits 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
Sau đó, mã trang của tôi trông giống như sau:
<%@ 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>
Mục tiêu đánh dấu HTML cuối cùng là gì? Cái gì như:
Có, HTML mà tôi đang nhổ ra là ul/li. Không cần thiết cho asp: ListItem, chỉ không biết những gì khác để gọi nó khi tôi hỏi câu hỏi – slolife