Mobile控件List与SelectionList控件数据绑定

List 和 SelectionList ASP.NET 移动控件可以呈现基本的数据视图并提供与数据项的基本交互。

List 或 SelectionList 移动控件中的数据可以绑定到 DataView 或 DataSet。若要将 List 或 SelectionList 移动控件中的数据绑定到 DataView,可以设置 DataSource 属性并调用 DataBind 方法来执行数据绑定。例如,如果有一个 DataSet 包含一个名为 Titles 的表,则可以使用以下语句。

[C#]
myList.DataSource = ds.Tables["Titles"].DefaultView;
myList.DataBind(); 


或者,若要将数据直接绑定到 DataSet,还必须将 DataMember 属性设置为该表的名称。以下示例与前一个示例是等同的。

myList.DataSource = ds;
myList.DataMember = "Titles";
myList.DataBind(); 


List 控件或 SelectionList 控件中的列表项通常可以绑定到每个数据项中的两项属性。第一项属性成为列表项的 Text 属性,第二项属性成为列表项的 Value 属性。这些值通过 List (SelectionList) 控件的 DataTextField (DataTextField) 属性和 DataValueField (DataValueField) 属性来设置。List 控件使用每个项的 Text 属性来呈现各项。例如,如果您要按 CustomerName 属性呈现每个项,请将 DataTextField 属性设置为 CustomerName。

有时,您可能需要将每个项呈现为由它的几个属性组成的摘要。为此,您可以重写 List 控件的 ItemDataBind 事件或 SelectionList 控件的 ItemDataBind 事件,并设置 Text 属性。以下示例用于将书籍呈现为书名和价格的组合。

[C#]
private void List_OnItemDataBind(Object sender, 
ListDataBindEventArgs e)
{
e.ListItem.Text = String.Format ("{0} – ${1}", 
DataBinder.Eval (e.DataItem, "title"),
DataBinder.Eval (e.DataItem, "price"));



在支持更丰富的呈现的设备上,您可以使用 List 控件的模板集来显示数据项的自定义视图。在模板模式下,List 控件的功能与 Repeater ASP.NET 服务器控件的功能类似。例如,您可以使用以下项模板显示书籍的详细视图。

<ItemTemplate>
<tr style="background-color:FFECD8">
<td>
<%# DataBinder.Eval(((MobileListItem)Container).DataItem, "title") %>
</td>
<td>
<%# DataBinder.Eval(((MobileListItem)Container).DataItem, "title_id") %>
</td>
<td>
<%# DataBinder.Eval(((MobileListItem)Container).DataItem, "type") %>
</td>
<td>
<%# DataBinder.Eval(((MobileListItem)Container).DataItem, "pub_id") %>
</td>
<td>
<%# DataBinder.Eval(((MobileListItem)Container).DataItem, "price", "$ {0}") %>
</td>
</tr>
</ ItemTemplate > 

有关模板集的更多信息,请参见模板集和模板化控件文档。

List 模板或 SelectionList 模板中的数据绑定
您可以在 List 控件或 SelectionList 控件中定义一个模板,以自定义该控件。若要使用这些模板中的内联数据绑定,请使用以下示例之一:

<%# DataBinder.Eval(((MobileListItem)Container).DataItem, "fieldname") %>


<%#((MobileListItem)Container).Text%>
<%#((MobileListItem)Container).Value%> 

笔者注:

关于绑定自增字段:

如果想显示标号,1、AAA,2、BBB,3、CCC,可以这样操作:

<%# DataBinder.Eval(((MobileListItem)Container), "Index", " {0}、") %>

相关参考:
http://msdn2.microsoft.com/zh-cn/library/t22xkkc9.aspx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值