2016-05-07 8 views
2

データベースからレシピ名を取得し、そのデータをリスト形式で表示する必要があります。私はコードを追加しました。しかし、テンプレートには何を含めるべきですか?ListView - >コードでデータを表示

ソース

<asp:ListView ID="ListView1" runat="server"> 
        <ItemTemplate> 

        </ItemTemplate> 
       </asp:ListView> 

コード

protected void Page_Load(object sender, EventArgs e) 
{ 

    MySqlConnection con = new MySqlConnection("Server=localhost;Database=FreedomKitchen;Uid=root;Password=;"); 
    con.Open(); 
    MySqlCommand cmd = new MySqlCommand("select Recipe_Name from Recipes", con); 
    MySqlDataAdapter da = new MySqlDataAdapter(); 
    da.SelectCommand = cmd; 
    DataSet ds = new DataSet(); 
    da.Fill(ds, "Recipe_Names"); 
    ListView1.DataSource = ds; 
    ListView1.DataBind(); 
} 

答えて

0

の背後にあるあなたはデータのみを表示したい場合は、ラベルを追加することができます 「>

またはテキストボックスは、データを編集したい場合は

+0

こんにちは、私は、詳細が表示されますされ、リスト項目は次のページへのリンクのようになりたい必要がありますレシピのビュー。だから、これは望ましい実装ですか?ボタンは機能しますか?これでアイテムリスナーを実装する方法は?ありがとう – user6302221

0

テンプレートにASP.NETコントロールを追加して、あなたが特定のリストビューに表示したいものは何でもあなたが<ItemTemplate>に置くことができMSDN

0

上itemtemplatesのドキュメントを見つけることができます

<asp:ListView ID="ListView1" runat="server"> 
    <ItemTemplate> 
     <asp:Label ID="recipe_name" 
        runat="Server" 
        <!-- in eval you use the name of a field/property 
         found in your collection or datatable  
        --> 
        Text='<%#Eval("Recipe_Name") %>' /> 
    </ItemTemplate> 
</asp:ListView> 

:あなたのデータセットからのフィールドの値にbindへ方法項目。

さらに、をレシピの適切なコレクションにマップする方が簡単だと思います。例えば、設計者に

を:背後に

<ItemTemplate> 
    <asp:Label runat="server" ID="lbl"></asp:Label> 
</ItemTemplate> 

コード:

void Page_Load(object sender, EventArgs e) 
{ 
    ...Code... 
    ListView1.ItemDataBound += new EventHandler<System.Web.UI.WebControls.ListViewItemEventArgs>(ListView1_ItemDataBound); 
} 

private void ListView1_ItemDataBound(object sender, System.Web.UI.WebControls.ListViewItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListViewItemType.DataItem) 
    { 
     var recipeName = e.Item.DataItem as *Your_Recipe_Class_Type*; 
     if (recipeName != null) 
     { 
      Label lbl = e.Item.FindControl("lbl"); 
      lbl.Text = recipeName.*DesiredProperty*; 
     } 
    } 
} 
関連する問題