我正在尝试这样做:Post I Have Tried Over and Over But Failed
但即使按照示例和接受的答案后,我也无法让我的页面识别列表中的类的属性<>。
这是我的UserControl背后的代码:
namespace TEST.ctrl.forms
{
public class listItem
{
public string Name { get; set; }
}
public partial class ddl : System.Web.UI.UserControl
{
[PersistenceMode(PersistenceMode.InnerProperty)]
public List<listItem> ddlItem { get; set; }
}
}
这是aspx页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="frm_Test.aspx.cs" Inherits="TEST.forms.products.frm_Test" %>
<%@ Register Src="~/ctrl/forms/ddl.ascx" TagPrefix="d" TagName="ddl" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>TEST</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<d:ddl ID="ddl1" runat="server">
<ddlItem Name="Bob"></ddlItem>
<ddlItem Name="Dave"></ddlItem>
<ddlItem Name="Frank"></ddlItem>
</d:ddl>
</div>
</form>
</body>
</html>
&#13;
该页面了解 d:ddl 并提供 ddlItem 作为属性,但不知道&#39; 名称& #39;是。我错过了什么吗?
答案 0 :(得分:0)
ddlItem
是List
,因此它本身没有Name
属性。您的标记应如下所示:
<d:ddl ID="ddl1" runat="server">
<ddlItem>
<asp:listItem Name="Alice" />
<asp:listItem Name="Bob" />
</ddlItem>
</d:ddl>
我并非100%确定您需要asp:
前缀。您可能需要将listItem
课程注册到另一个<%@ Register...
drective。