使用C#在asp.net中的sql中显示表中的所有数据

我只是用c#学习asp.net。 对PHP知之甚少,我想我能够做些事但我在显示数据库中的记录时遇到问题。

我有一个名为资源的表,我想要做的是输出表中的所有数据。 这是我想在php中用c#编写的输出…

<?php while($row = mysql_fetch_object($tablename)) { echo "$row->imagedownload linkurl."'>'".$row->url."'"; } ?> 

基本上我没有问题的PHP,但我想输出此代码将给我同样的C#(与图像,下载链接和表中的URL)。 请帮忙,…

我在c#中有这个代码来输出标签控件中的数据

 var cmd = new MySqlCommand("SELECT * FROM resources"); Knct dal = new Knct(); MySqlDataReader dr = dal.DatareaderMethod(cmd, Knct.executemethods.ExecuteReader); while (dr.Read()) { label1.Text = dr[2].ToString(); } 

while循环不起作用,它只显示一个值。 我如何使这显示数据库中的所有记录和我可以使用哪个asp控件输出记录,并在表输出中创建一个URL链接。

像这样使用

    

这是将数据绑定到gridview或任何其他数据控件的最简单方法。

如果您使用的是ASP.Net,则转发器是简单显示器的首选。

在您的代码(或服务器端)后面,您必须将数据绑定到转发器:

  ... m_Repeater.DataSource = GetImages(); //Function that returns Image records m_Repeater.DataBind(); ... 

ASPX页面上的标记将如下所示:

   
Image Link Url
Download Link Url

ASP.Net MVC

如果你正在使用ASP.Net MVC,你可以使用Razor语法,它更优雅。 假设Model强类型为可枚举的Image对象列表,则视图页面上的标记可能如下所示:

 @foreach(var image in Model) {   Download Link Url  } 

一些有用的文章/资源:

  • MSDN – 中继器
  • DotNetcurry – 剃刀

如果这是webforms,您可以使用转发器显示每个值。 它看起来像这样:

 aspx:   
<%# Eval("columnName")%>
aspx.cs: repeater.DataSource = dr; repeater.DataBind();

把它想象成for循环。