本文介绍了如何在asp中的HTML表中显示数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在编写一个ASP.NET页,该页从数据库中读取数据并需要在HTML表中显示它.我不想使用gridView.
I am writing an ASP.NET page which reads data from a database and needs to show it in an HTML table. I don't want to use a gridView.
这是我使用c#尝试的代码:
Here is the code I tried using c#:
protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); List<UserDetails> details = new List<UserDetails>(); using (SqlConnection con = new SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=Sample;Trusted_Connection=True;")) { using (SqlCommand cmd = new SqlCommand("select TOP 10 ImageFile,ProductName,Features from Product_category", con)) { con.Open(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); foreach (DataRow dtrow in dt.Rows) { UserDetails user = new UserDetails(); user.UserId = dtrow["ImageFile"].ToString(); user.UserName = dtrow["ProductName"].ToString(); user.Location = dtrow["Features"].ToString(); details.Add(user); } } } return details.ToArray(); } public class UserDetails { public string UserId { get; set; } public string UserName { get; set; } public string Location { get; set; } }这是我的html代码:
Here is my html code:
<table id="tbDetails" width="800" runat="server"> <tbody> <tr><td><table><tr><td></td></tr><tr><td></td></tr></table></td><td><table><tr><td></td></tr></table></td></tr> </tbody> </table> 推荐答案首先,将代码放在一个返回字符串的私有方法中.方法:
First of all place your code in one private method that returns a string. The method:
public string getWhileLoopData() { string htmlStr = ""; SqlConnection thisConnection = new SqlConnection(dbConnection); SqlCommand thisCommand = thisConnection.CreateCommand(); thisCommand.CommandText = "SELECT * from Test"; thisConnection.Open(); SqlDataReader reader = thisCommand.ExecuteReader(); while (reader.Read()) { int id = reader.GetInt32(0); string Name = reader.GetString(1); string Pass = reader.GetString(2); htmlStr +="<tr><td>"+id+"</td><td>"+Name+"</td><td>"+Pass+"</td></tr>" } thisConnection.Close(); return htmlStr; }比您可以使用以下代码:
Than you can use the this code:
<%= getWhileLoopData()%>等于<%Response.Write(getWhileData())%>
它应该看起来像这样:
<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/test.master" CodeFile="test.aspx.cs" Inherits="test" %> <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="ContentPlaceHolder"> <table width="100%" align="center" cellpadding="2" cellspacing="2" border="0" bgcolor="#EAEAEA" > <tr align="left" style="background-color:#004080;color:White;" > <td> ID </td> <td> Name </td> <td>Pass</td> </tr> <%=getWhileLoopData()%> </table> </asp:Content>还有一个选项,可以使用转发器控件并将数据从数据库绑定到项目模板
There is also the option to use an repeater control and bind the data from your DB to an Item Template
更多推荐
如何在asp.net中的HTML表中显示数据
发布评论