我只是用c#学习asp.net。由于对PHP知之甚少,我想我能够做些事情,但是我在显示数据库中的记录时遇到了问题。
我有一个名为resources的表,我想要做的是输出表中的所有数据。 这是我想在php中用c#编写的输出...
<?php
while($row = mysql_fetch_object($tablename))
{
echo "<tr><td>$row->image</td><td><a href='#'>download link</a></td><a href='http://'".$row->url."'>'".$row->url."'</a></tr>";
}
?>
基本上我没有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链接。
答案 0 :(得分:1)
如果您使用的是ASP.Net,则转发器是简单显示器的首选。
在您的代码(或服务器端)中,您必须将数据绑定到转发器:
...
m_Repeater.DataSource = GetImages(); //Function that returns Image records
m_Repeater.DataBind();
...
ASPX页面上的标记类似于:
<asp:Repeater id="m_Repeater" runat="server">
<HeaderTemplate>
<table>
<tr>
<td>Image</td>
<td>Link</td>
<td>Url</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><img src='<%# Container.DataItem("ImageSrc") %>'/></td>
<td><a href='<%# Container.DataItem("DownloandLink") %>'>Download Link</a></td>
<td><a href='<%# Container.DataItem("ImageUrl") %>'>Url</a></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
ASP.Net MVC
如果你正在使用ASP.Net MVC,你可以使用Razor语法,它更优雅。假设Model
强类型为可枚举的Image
个对象列表,则视图页面上的标记可能如下所示:
@foreach(var image in Model)
{
<tr>
<td><img src='@image.ImageSrc'/></td>
<td><a href='@image.DownloadLink'>Download Link</a></td>
<td><a href='@image.ImageUrl'>Url</a></td>
</tr>
}
一些有用的文章/资源:
答案 1 :(得分:1)
如果这是webforms,您可以使用转发器显示每个值。它看起来像这样:
aspx:
<asp:Repeater ID="repeater" runat="server">
<ItemTemplate>
<div><%# Eval("columnName")%></div>
</ItemTemplate>
</asp:Repeater>
aspx.cs:
repeater.DataSource = dr;
repeater.DataBind();
将其视为for
循环。
答案 2 :(得分:1)
像这样使用
<asp:GridView ID="grdPivot" runat="server" AutoGenerateColumns="True">
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MySql %>" ProviderName="<%$ ConnectionStrings:MySql.ProviderName %>" SelectCommand="SELECT * FROM resources"></asp:SqlDataSource>
这是将数据绑定到gridview或任何其他数据控件的最简单方法。