我想从数据库中检索菜谱名,并需要在列表表单中显示数据。我把密码加在后面了。但我在模板中包含了什么。
来源
<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();
}发布于 2016-05-07 09:45:01
如果您只想显示数据'>,可以添加一个标签.
或文本框(如果要编辑数据)。
发布于 2016-05-07 09:49:46
可以在模板中添加ASP.NET控件,然后使用Eval方法对数据集中的字段的值进行绑定:
<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>您可以在MSDN上找到项目模板的文档。
发布于 2016-05-07 09:51:06
您可以将想要显示在特定列表视图项中的任何内容放入<ItemTemplate>。
此外,我认为您可以更容易地将DataSet映射到适当的食谱类型集合中。
例如,在设计器中:
<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*;
}
}
}https://stackoverflow.com/questions/37086830
复制相似问题