首页 新闻 会员 周边 捐助

ASp.NEt 多层架构,请问不用GrewView、DetailsView等控件,如何把数据呈现在页面,最好有类似于Java的方法

0
悬赏园豆:50 [已解决问题] 解决于 2017-09-28 15:50

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 Article GetArticleByArticleId(int id)

  {

  string sql = "select * from article where articleId=@articleId";

  try

  {

  using (SqlDataReader reader = SqlHelper.GetReader(sql, new SqlParameter("@articleId", id)))

  {

  if (reader.Read())

  {  return FillRecord(reader);  }

  else

  {  return null;  }

  }

  }

  catch (Exception e)

  {

  Console.WriteLine(e.Message);     throw e;

  }

  }

5、业务逻辑方法:

public static class ArticleManager

    {

        public static Article GetArticlesByArticleId(int id)

        {

            return ArticleService.GetArticleByArticleId(id);

        }

}

5、页面表现层:

 

<div>

        <ul>

            <li> 编号:&nbsp;         </li>

            <li>标题: &nbsp;         </li>

            <li>内容: &nbsp;         </li>

………..

        </ul>

    </div>

6、请问不用ASP.Net的GrewView、DataList等控件,如何掉调用业务逻辑层 。 把数据集呈现在页面

public partial class _Default : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

 

            Article a = ArticleManager. GetArticlesByArticleId (1);

          

 

 

        }

WesternWind的主页 WesternWind | 初学一级 | 园豆:7
提问于:2013-07-02 15:06
< >
分享
最佳答案
0

参考 MVC,DISCUZ!NT,可以在aspx页面 循环 服务器端的 公共属性的 集合对象。

大概是这样写 aspx:

<% for (int i = 0; i < List.Count; i++)
       {%>
           <div>
                <%= List[i] %>
           </div>
<%} %>

cs: public List<string> List { get; set; }

收获园豆:50
geass.. | 小虾三级 |园豆:1821 | 2013-07-02 17:46

正解!

吕津 | 园豆:31 (初学一级) | 2013-08-05 01:12
其他回答(4)
0

后台动态拼一个table发到前台。

放羊娃 | 园豆:318 (菜鸟二级) | 2013-07-02 15:12

介个方法不好 !@@

支持(0) 反对(0) WesternWind | 园豆:7 (初学一级) | 2013-07-02 15:31
0

for 循环

Tom.汤 | 园豆:3060 (老鸟四级) | 2013-07-02 22:14
0

1、后台用StringBuilder进行字符拼接

2、用Repeater没有viewstate(干净)

3、后台序列化json,前台在进行拼接(Jquery EasyUI方便)

秋壶冰月 | 园豆:5903 (大侠五级) | 2013-07-02 22:47
0

可以用TPL! 跟GridView的效果差不多,更轻量级

二十三号同学 | 园豆:974 (小虾三级) | 2013-07-05 14:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册