日期:2014-05-18  浏览次数:20564 次

不用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> 标题:&nbsp; 日期 </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>