C# 使用ASP.net web循环显示数据库中的内容
我需要动态添加从数据库读取的页面内容。下面只是一个代码草案C# 使用ASP.net web循环显示数据库中的内容,c#,sql,asp.net,sql-server,C#,Sql,Asp.net,Sql Server,我需要动态添加从数据库读取的页面内容。下面只是一个代码草案 <div> <asp button> < asp label> </div> 最初,您可以尝试这样的方法,并在此基础上进一步发展: //using System.Web.UI.HtmlControls; var searchValue = "somethingYouSearchFor" ; var connection = new SqlConnec
<div>
<asp button>
< asp label>
</div>
最初,您可以尝试这样的方法,并在此基础上进一步发展:
//using System.Web.UI.HtmlControls;
var searchValue = "somethingYouSearchFor" ;
var connection = new SqlConnection("connection string here");
var query = new SqlCommand("SELECT Name, Country FROM MyTable WHERE value3 = @SearchValue", connection);
query.Parameters.AddWithValue("@SearchValue", searchValue);
connection.Open();
SqlDataReader reader = query.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
var addDiv = new HtmlGenericControl("div");
addDiv.ID = "anyId"; //Optional
addDiv.Style.Add(HtmlTextWriterStyle.BackgroundColor, "Yellow"); //Optional
addDiv.Style.Add(HtmlTextWriterStyle.Color, "Black"); //Optional
addDiv.Style.Add(HtmlTextWriterStyle.Height, "200px"); //Optional
addDiv.Style.Add(HtmlTextWriterStyle.Width, "300px"); //Optional
var nameLabel = new HtmlGenericControl("label");
nameLabel.InnerText = reader["Name"];
addDiv.Controls.Add(nameLabel);
var countryLabel = new HtmlGenericControl("label");
countryLabel.InnerText = reader["Country"];
addDiv.Controls.Add(countryLabel);
this.Controls.Add(addDiv);
}
}
connection.Close();
reader.Close();
query.Dispose();
这可能是访问数据库的最简单方法,您需要填写连接字符串(使用此链接,您可以看到包括MS SQL连接字符串在内的多个示例)
您需要提供一个与数据库匹配的有效SQL查询(最好的做法是在MS SQL Studio又名SSMS中测试SQL查询),然后在C#代码中实现它。我认为asp.net Repeater控件最适合您的情况。 MSDN链接。 与MSDN文档中显示的示例类似,您将使用数据库中的数据填充一个集合,然后将该集合绑定到中继器的数据源
Repeater1.DataSource = values;
Repeater1.DataBind();
在标记中,可以在中访问集合中的对象
<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Name") %> (<%# DataBinder.Eval(Container.DataItem, "Content") %>)
</ItemTemplate>
</asp:Repeater>
()
添加更多标记和样式以满足您的需要。什么数据库?你尝试了什么?普通的sql server数据库我想从每个数据行创建一个提要类似于facebook帖子你尝试了什么?代码?我只是不能说出我到底想要什么样的过程,``while(reader.read()){}```结果应该是``命名ABC国家B确定取消命名QWE国家L确定取消``谢谢,它按照我的要求创建了分区,但有没有一种方式可以像在分区之间和标签之间添加和添加bootstrap@techlk ,br是一个自动关闭标记,因此据我所知,它不受
HtmlGenericControl
的支持,但您可以继承它来开发自定义的东西。欲了解更多信息,请参阅本文中的答案
Repeater1.DataSource = values;
Repeater1.DataBind();
<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Name") %> (<%# DataBinder.Eval(Container.DataItem, "Content") %>)
</ItemTemplate>
</asp:Repeater>