C# ASP.NET ListView元素显示<#评估?
我有一个使用自定义数据源的ListView控件。它将很快成为一个数据库,但目前我仍在努力让它运行 在我表单的HTML中,我有以下代码:C# ASP.NET ListView元素显示<#评估?,c#,asp.net,listview,data-binding,C#,Asp.net,Listview,Data Binding,我有一个使用自定义数据源的ListView控件。它将很快成为一个数据库,但目前我仍在努力让它运行 在我表单的HTML中,我有以下代码: <%-- Ref: https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.layouttemplate.aspx --%> <asp:ListView ID="lvOfficers" runat="server" OnSelectedInd
<%-- Ref: https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.layouttemplate.aspx --%>
<asp:ListView ID="lvOfficers" runat="server"
OnSelectedIndexChanging="lvOfficers_SelectedIndexChanging"
OnSelectedIndexChanged="lvOfficers_SelectedIndexChanged">
<LayoutTemplate>
<table id="tblOfficers">
<tr>
<th style="width:20%"></th>
<th colspan="2">Member Name</th>
<th style="width:20%"></th>
<th style="width:20%"></th>
</tr>
<tr>
<th>Title</th>
<th>Last</th>
<th>First</th>
<th>Phone</th>
<th>Email</th>
</tr>
<asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><asp:Label ID="lblRank" runat="server" Text='<#Eval("Rank") %>'></asp:Label></td>
<td><asp:Label ID="lblLast" runat="server" Text='<#Eval("LastName") %>'></asp:Label></td>
<td><asp:Label ID="lblFirst" runat="server" Text='<#Eval("FirstName") %>'></asp:Label></td>
<td><asp:Label ID="lblPhone" runat="server" Text='<#Eval("HomePhone") %>'></asp:Label></td>
<td><asp:Label ID="lblEmail1" runat="server" Text='<#Eval("PersonalEmail") %>'></asp:Label></td>
</tr>
</ItemTemplate>
</asp:ListView>
我可以在调试模式下单步执行,并看到在我的“GetOfficers”数据工厂生成的ListView中有8个类型为Person的元素
Person类包含子类:
- 手机类:用于{
,家庭
,手机
工作
- 地址类{
,主要
},包含用于指示联系方式的排名逻辑,以及次要
- 会员资格课程。一个实例跟踪成员的
、ID
和JoinDate
,而另一个实例跟踪LifeMembership的相同元素过期时间
protected void GetOfficers() {
var officers = Personnel.GetOfficers();
var data = from o in officers
select new {
o.Rank,
o.LastName,
o.FirstName,
o.HomePhone,
o.PersonalEmail,
};
//var data = (from o in officers
// select new {
// o.Rank,
// o.LastName,
// o.FirstName,
// o.HomePhone,
// o.PersonalEmail,
// }).OrderBy(o => o.Rank).OrderBy(o => o.LastName);
lvOfficers.DataSource = data;
lvOfficers.DataBind();
}
一开始我很确定这会解决我的问题,所以我加入了两个OrderBy子句。当它不起作用时,我把它评论出来再试一次,但仍然没有成功
无论我尝试了什么,页面都会显示“Eval”文本,而不是实际数据
我猜答案很简单,但我忽略了,因为我使用相同的技术填充同一项目中其他页面中的数据
如何显示我的数据?开始时需要
%
,如下所示:-
'<%# Eval("Rank") %>'
“”
一开始你需要%
如下:-
'<%# Eval("Rank") %>'
“”
您需要在评估开始时添加%符号
''您需要在评估开始时添加%符号
''
Text=''
应该是Text=''
Text=''
应该是Text=''
漂亮!我知道这一定很简单。我通常为Windows窗体编写,所以当我尝试使用Web时会犯一些愚蠢的错误。谢谢欢迎:)ASP.NET代码块需要特别小心;)美丽的!我知道这一定很简单。我通常为Windows窗体编写,所以当我尝试使用Web时会犯一些愚蠢的错误。谢谢欢迎:)ASP.NET代码块需要特别小心;)