首页 新闻 赞助 找找看

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

0
[已解决问题] 解决于 2017-09-28 15:52

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 14:53
< >
分享
最佳答案
0

有一个办法就是将你后台的数据遍历出来,拼装成html+data,然后直接取这个string 数据放到页面即可!

奖励园豆:5
Beyond-bit | 老鸟四级 |园豆:2885 | 2013-07-02 14:59
其他回答(5)
0

repeater控件绑定

路漫漫,求索不息 | 园豆:299 (菜鸟二级) | 2013-07-02 15:34

问题是不用控件的方法,类似于java!

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

@WesternWind: Linq技术试试

支持(0) 反对(0) 路漫漫,求索不息 | 园豆:299 (菜鸟二级) | 2013-07-04 18:23
0

Entity Framework 搞起,Model搞起,前台List<Model> foreach 拼Html table tr td 字符串

我本猿类 | 园豆:2 (初学一级) | 2013-07-02 18:00
1
Insus.NET | 园豆:932 (小虾三级) | 2013-08-01 21:07
0

以WebForm为例子,你可以在cs文件中定义一个public的集合XXXlist,存储需要展示的数据,你可以在aspx中嵌入C#代码,并且是可以调用到XXXlist中的数据的。

零下三度 | 园豆:221 (菜鸟二级) | 2013-08-08 18:27
0

@model IEnumerble<Article>//你的model

<ul>@foreach (var item in Model)

{

    <li></li>

    <li></li>

}

</ul>

 

或者使用Knockout.js来绑定数据。我比较喜欢这种方法。。

http://knockoutjs.com/

|WinKi| | 园豆:669 (小虾三级) | 2013-08-13 13:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册