不用ASP.Net的GrewView等控件,如何把数据集呈现在页面
1、业务实体:
public class Article
{
private int _articleId;
private string _title;
private string _articleDetails;
public int ArticleId
{
get { return _articleId; }
set { _articleId = value; }
}
…
}
2、通用的SQLHelper 方法:
/// <summary>
/// 执¡ä行D有®D参?SQL语®?句?,ê?并¡é返¤¦Ì回?SqlDataReader
/// </summary>
public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
3、数据访问层方法:
数据填充方法:
private static Article FillRecord(SqlDataReader reader)
{
Article a = new Article();
a.ArticleId = Convert.ToInt32(reader["articleId"]);
a.ChannelId = Convert.ToInt32(reader["channelId"]);
a.Title = Convert.ToString(reader["title"]);
a.ArticleDetails = Convert.ToString(reader["articleDetails"]);
return a;
}
数据访问层代码:
public static IList<Article> GetArticleByTitle(string t)
{
IList<Article> articles = new List<Article>();
string sql = "select * from article where title like %@title% order by dateCreated desc";
try
{
using (SqlDataReader reader = SqlHelper.GetReader(sql, new SqlParameter("@title", t)))
{
while (reader.Read())
{
articles.Add(FillRecord(reader));
}
}
return articles;
}
catch (Exception e)
{
Console.WriteLine(e.Message);
throw e;
}
}
5、业务逻辑方法:
public static IList<Article> GetAllArticles()
{
return ArticleService.GetAllArticles();
}
5、页面表现层:
<div>
<ul>
<li> 标题: 日期 </li>
……………………………………………..
</ul>
</div>
6、请问不用ASP.Net的GrewView等控件,如何掉调用 业务逻辑层 .把数据呈现在页面
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
IList<Article> a = new List<Article>();
}
}
如果返回一个IList<Article>,该如何呈现呢 !?
------解决方案--------------------小脚本,for循环。
或者在后台拼接也可以。
------解决方案--------------------
为何不要GridView呢?就是简单的绑定,没有这么可怕的。另外还有Repeater,DataList,ListView可用。
另外,可以定义一个public String html=""
然后循环html+="<li>xx</li>";也可以实现,
<ul><%=html%></ul>