【发布时间】:2013-08-14 00:48:19
【问题描述】:
我正在尝试将 GridView 转换为 ListView 以允许我更好地控制表格显示。
GridView 可以按照此处定义的方式正常工作,并且可以正确显示数据。
<asp:GridView ID="gvService" runat="server"
AllowPaging="True"
AutoGenerateColumns="False"
DataKeyNames="ID"
DataSourceID="objService">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="ServiceType" HeaderText="Type" />
</Columns>
</asp:GridView>
当我将它转换为ListView 时,根本不会向页面呈现任何 HTML。我什至将它们并排放置,GridView 有效,但 ListView 不显示。
<asp:ListView ID="lvService" runat="server"
DataSourceID="objService">
<LayoutTemplate>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Type</th>
</tr>
<tr id="itemPlaceholder" runat="server"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("ID") %></td>
<td><%# Eval("Name") %></td>
<td><%# Eval("ServiceType") %></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td><%# Eval("ID") %></td>
<td><%# Eval("Name") %></td>
<td><%# Eval("ServiceType") %></td>
</tr>
</AlternatingItemTemplate>
</asp:ListView>
这里是ObjectDataSource
<asp:ObjectDataSource ID="objService" runat="server"
EnablePaging="true"
TypeName="My.Data.DataSource.ServiceDataSource" DataObjectTypeName="My.Data.Service.ServiceSearch"
SelectMethod="Search"
SelectCountMethod="SearchCount">
<SelectParameters>
<asp:ControlParameter ControlID="tbSearch" Name="Search" PropertyName="Text" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
我觉得我在这里缺少一些基本的东西。关于为什么 GridView 填充但 ListView 没有填充的任何想法?
我需要手动DataBind()在后面的代码中控制吗?
【问题讨论】:
-
显示您的 ObjectDataSource 的 Select 方法
-
请发布
My.Data.Service.ServiceSearch类的所有代码。
标签: asp.net listview gridview objectdatasource