共用方式為


資料繫結清單或 SelectionList 控制項

更新:2007 年 11 月

ListSelectionList ASP.NET Mobile 控制項會呈現資料的基本檢視,並讓使用者能夠選取資料項目。

您可以將 ListSelectionList 行動控制項繫結至 DataViewDataSet 物件,或是任何實作 IEnumerableIListSource 的物件。若要將 ListSelectionList 行動控制項繫結至 DataView 物件,您必須設定此控制項的 DataSource 屬性並呼叫其 DataBind 方法。下列程式碼範例示範如何將控制項繫結至包含名為 Titles 之資料表的 DataSet 物件。

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

或者,您可以將 ListSelectionList 控制項繫結至 DataSet 物件。若要做到這點,您必須將 DataMember 屬性設定為該資料表的名稱。下列範例的作用與上一個範例相同。

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

ListSelectionList 控制項中的清單項目可以繫結至兩個資料值。其中一個資料值會繫結至清單項目的 Text 屬性,另一個則繫結至其 Value 屬性。您可以設定 ListSelectionList 控制項的 DataTextField (SelectionList.DataTextField) 和 DataValueField (SelectionList.DataValueField) 屬性,以設定清單項目的繫結。List 控制項會使用其 Text 屬性顯示每個項目。例如,如果您要依據控制項的 CustomerName 屬性顯示每個項目,請將 DataTextField 屬性設定為 CustomerName。

您可能想要將每個項目顯示為由幾項資料值組成的摘要。若要這樣做,您可以處理 List 控制項的 ItemDataBind 事件,或是 SelectionList 控制項的 ItemDataBind 事件,並以程式設計方式設定 Text 屬性。下列程式碼範例示範如何將書籍資訊呈現為書名與價格的組合。

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", "{0:C}"));
}

在支援更豐富呈現方式的裝置上,您可使用 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}", "{0:C}") %>
    </td>
  </tr>
</ ItemTemplate >

如需樣板集的詳細資訊,請參閱樣板集和樣板化控制項

請參閱

概念

使用列出的控制項存取資料

SelectionList 和 List 類別之間的差異