最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MVC+EasyUI+三層新聞網(wǎng)站建立 分頁(yè)查詢數(shù)據(jù)功能(七)

 更新時(shí)間:2017年07月14日 10:14:22   作者:劉指導(dǎo)  
這篇文章主要為大家詳細(xì)介紹了MVC+EasyUI+三層新聞網(wǎng)站建立的第七篇,教大家如何分頁(yè)查詢出數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

MVC新聞網(wǎng)站建立,完成分頁(yè)查詢數(shù)據(jù)功能。

1、在Model里面建立NewInfo(里面存放的是新聞信息的實(shí)體信息)

然后在DAL層中建立NewInfoDal (里面存放對(duì)新聞信息的操作)

寫入分頁(yè)查詢的代碼

/// <summary>
 /// 分頁(yè)查詢
 /// </summary>
 /// <param name="start">分頁(yè)開始條數(shù)</param>
 /// <param name="end">分頁(yè)結(jié)束條數(shù)</param>
 /// <returns>返回查詢到的list集合</returns>
 public List<NewInfo> GetPageEntityList(int start,int end)
 {
 string sql = "select * from(select row_number()over(order by id)as num,*from T_News)as t where t.num>=@start and t.num<=@end";
 SqlParameter[] pms = { 
   new SqlParameter("@start",SqlDbType.Int),
   new SqlParameter("@end",SqlDbType.Int),
   };
 pms[0].Value = start;
 pms[1].Value = end;
 DataTable dt = SqlHelper.ExcuteDataTable(sql,CommandType.Text,pms);
 List<NewInfo> newList = null;
 if (dt.Rows.Count>0)
 {
 newList = new List<NewInfo>();
 NewInfo newinfo = null;
 foreach (DataRow item in dt.Rows)
 {
  newinfo = new NewInfo();
  LoadEntity(item,newinfo);
  newList.Add(newinfo);
 }
 }
 return newList;
 }
 /// <summary>
 /// 查詢出頁(yè)面條數(shù)
 /// </summary>
 /// <returns></returns>
 public int GetRecordCount()
 {
 string sql = "select count(*) from T_News";
 int count = Convert.ToInt32(SqlHelper.ExecuteScalar(sql,CommandType.Text));
 return count;
 }

在BLL層中建立NewInfoServices(里面存放對(duì)新聞信息的邏輯處理)

 DAL.NewInfoDal NewInfoDal = new DAL.NewInfoDal();
 /// <summary>
 /// 分頁(yè)查詢數(shù)據(jù)
 /// </summary>
 /// <param name="pageIndex">當(dāng)前頁(yè)碼值</param>
 /// <param name="pageSize">一個(gè)多少條數(shù)據(jù)</param>
 /// <returns></returns>
 public List<NewInfo> GetPageEntityList(int pageIndex, int pageSize)
 {
 int start = (pageIndex - 1) * pageSize + 1;
 int end = pageSize * pageIndex;
 return NewInfoDal.GetPageEntityList(start,end);
 }
 /// <summary>
 /// 查詢出頁(yè)面的記錄數(shù)
 /// </summary>
 /// <returns></returns>
 public int GetRecordCount()
 {
 return NewInfoDal.GetRecordCount();
 }

我們把新聞管理的url指定為/NewInfo/Index

那么就要新建NewInfo控制器  Index視圖就是新聞管理頁(yè)面的主頁(yè)了。 

新聞管理主頁(yè)的布局很簡(jiǎn)單就是一個(gè)表格,所以就先在body里面寫了一表格

<body>
 <div>
 <table id="tt"></table>
 </div>
</body/>

這里用到的是easyui的框架,所以先引用文件。

然后就是通過寫js代碼來顯示出表格的行和列

 <script type="text/javascript">
 $(function () {
 //初始化表格
 initTable();
});

 //初始化表格
 function initTable() {
 $("#tt").datagrid({
 //指向一個(gè)地址,當(dāng)表格加載完成后自動(dòng)請(qǐng)求該地址
 //自動(dòng)向后臺(tái)發(fā)送 rows 當(dāng)前頁(yè)多少條數(shù)據(jù) page:當(dāng)前頁(yè)
 //要求返回的數(shù)據(jù)json對(duì)象 {total:200,rows:[{},{}]}
 url: '/NewInfo/ShowNewsList',
 title: "新聞管理",
 fitColumns: true,
 height: $(window).height()-10,
 idField: 'Id', //后臺(tái)返回?cái)?shù)據(jù)中的主鍵列。一定注意大小寫。
 loadMsg: "正在加載新聞信息........",
 pagination: true, //啟用分頁(yè)
 singleSelect: true, //只允許選中一行
 pageSize: 10, //一頁(yè)默認(rèn)多少條
 pageNumber: 1, //默認(rèn)頁(yè)
 rownumbers: true,//行號(hào)
 pageList: [10, 20, 30], //允許一頁(yè)多少條數(shù)據(jù)
 queryParams: {}, //異步請(qǐng)求可以額外傳遞的數(shù)據(jù)
 columns: [[
 { field: 'ck', checkbox: true, align: 'left', width: 50 }, // 設(shè)置cheakbox
 { field: 'Title', title: '標(biāo)題', width: 120 },
 { field: 'SubDateTime', title: '發(fā)布時(shí)間', width: 80, formatter: ChangeDateFormat, },
 { field: 'Author', title: '作者', width: 80 },

  {
  field: 'operate', title: '操作', align: 'center', width: $(this).width() * 0.1,
  formatter: function (value, row, index) {
  var str = "";
  str += '<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" name="detail" id="detail" class="easyui-linkbutton" onclick="showDetail('+row.Id+')"></a>';
  str += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',
  str += '<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" name="update" id="update" class="easyui-linkbutton" onclick="updateNewInfo(' + row.Id + ')" ></a>';
  str += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',
  str += '<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" name="delete" id="delete" class="easyui-linkbutton" onclick="deleteNewInfo(' + row.Id + ')" ></a>';
  return str;
  }
  }

 ]],

 onLoadSuccess: function (data) {
  $("a[name='detail']").linkbutton({ text: '詳情', plain: true, iconCls: 'icon-more' });
  $("a[name='update']").linkbutton({ text: '編輯', plain: true, iconCls: 'icon-edit' });
  $("a[name='delete']").linkbutton({ text: '刪除', plain: true, iconCls: 'icon-cancel' });
  ////點(diǎn)擊詳情按鈕
  //clickDetail();
 },

 toolbar: [{
  id: 'btnAdd',
  text: '添加',
  iconCls: 'icon-add',
  handler: function () {
  addBtnClick(); //添加新聞
  }
 }],
 });
 }

要完成數(shù)據(jù)的顯示則還需要查詢數(shù)據(jù)庫(kù)。

根據(jù)  url: '/NewInfo/ShowNewsList',  所以需要在NewInfo控制器下建立ShowNewsList方法

 /// <summary>
 /// 分頁(yè)展示數(shù)據(jù)
 /// </summary>
 /// <returns></returns>
 public JsonResult ShowNewsList()
 {
 //要求返回的數(shù)據(jù)json對(duì)象 {total:200,rows:[{},{}]}
 int pageSize = int.Parse(Request["rows"]??"10");
 int pageIndex = int.Parse(Request["page"]??"1");
 List<NewInfo> newInfoList= NewInfoBll.GetPageEntityList(pageIndex, pageSize);
 //查詢所有數(shù)據(jù)
 var allNews = NewInfoBll.GetRecordCount();
 //把totle和rows:[{},{}]一起返回
 //先建立一個(gè)匿名類
 var dataJson = new { total = allNews, rows = newInfoList };
 var json = Json(dataJson, JsonRequestBehavior.AllowGet);
 return json;
 }



以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • .Net多線程編程(誤用點(diǎn)分析)

    .Net多線程編程(誤用點(diǎn)分析)

    本文主要介紹了.Net多線程編程中的誤用點(diǎn)分析。具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • ASP.NET MVC中分部視圖的應(yīng)用方法

    ASP.NET MVC中分部視圖的應(yīng)用方法

    這篇文章主要給大家介紹了關(guān)于ASP.NET MVC中分部視圖的應(yīng)用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • asp.net 虛擬主機(jī)時(shí)常出現(xiàn)MAC驗(yàn)證失敗錯(cuò)誤之解決方法

    asp.net 虛擬主機(jī)時(shí)常出現(xiàn)MAC驗(yàn)證失敗錯(cuò)誤之解決方法

    驗(yàn)證視圖狀態(tài) MAC 失敗。如果此應(yīng)用程序由網(wǎng)絡(luò)場(chǎng)或群集承載,請(qǐng)確保 <machineKey> 配置指定了相同的 validationKey 和驗(yàn)證算法。不能在群集中使用 AutoGenerate。
    2009-05-05
  • 不可忽視的 .NET 應(yīng)用5大性能問題

    不可忽視的 .NET 應(yīng)用5大性能問題

    ASP.NET 或是 Windows Forms 容器中,使用 ADO 庫(kù)與運(yùn)行在 CLR 交互,而 CLR 運(yùn)行在操作系統(tǒng)中而該硬件又與其他包含不同技術(shù)堆棧的硬件通過網(wǎng)絡(luò)相連。在你的應(yīng)用與外部環(huán)境之間,。我們還有 API 管理服務(wù)以及多級(jí)緩存基礎(chǔ)構(gòu)造數(shù)量龐雜,都可能影響應(yīng)用程序的性能!
    2016-05-05
  • Linux上使用Docker部署ASP.NET?Core應(yīng)用程序

    Linux上使用Docker部署ASP.NET?Core應(yīng)用程序

    這篇文章介紹了使用Docker部署ASP.NET?Core應(yīng)用程序的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • asp.net 相關(guān)文章實(shí)現(xiàn)方法

    asp.net 相關(guān)文章實(shí)現(xiàn)方法

    大家或許會(huì)覺得很驚訝:為什么靈感之源會(huì)討論SQL?或許應(yīng)該這樣說吧:搞業(yè)務(wù)系統(tǒng),不跟SQL扯上關(guān)系似乎比較難。
    2009-05-05
  • asp.net 預(yù)防SQL注入攻擊之我見

    asp.net 預(yù)防SQL注入攻擊之我見

    說起防止SQL注入攻擊,感覺很郁悶,這么多年了大家一直在討論,也一直在爭(zhēng)論,可是到了現(xiàn)在似乎還是沒有定論。當(dāng)不知道注入原理的時(shí)候會(huì)覺得很神奇,怎么就被注入了呢?會(huì)覺得很難預(yù)防。但是當(dāng)知道了注入原理之后預(yù)防不就是很簡(jiǎn)單的事情了嗎?
    2009-11-11
  • asp.net datalist綁定數(shù)據(jù)后可以上移下移實(shí)現(xiàn)示例

    asp.net datalist綁定數(shù)據(jù)后可以上移下移實(shí)現(xiàn)示例

    這篇文章主要介紹了asp.net datalist綁定數(shù)據(jù)后可以上移下移的示例代碼,需要的朋友可以參考下
    2014-02-02
  • WPF自定義路由事件

    WPF自定義路由事件

    這篇文章介紹了WPF自定義路由事件的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • Bat自動(dòng)解壓縮發(fā)布asp.net程序

    Bat自動(dòng)解壓縮發(fā)布asp.net程序

    這篇文章主要介紹了Bat自動(dòng)解壓縮發(fā)布asp.net程序的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-12-12

最新評(píng)論

锡林郭勒盟| 莫力| 沂水县| 盖州市| 桦甸市| 岚皋县| 浦县| 天水市| 乡宁县| 大方县| 杭锦旗| 蓝田县| 城步| 彭水| 海阳市| 池州市| 泾源县| 义乌市| 鹤岗市| 阿鲁科尔沁旗| 景德镇市| 沙洋县| 福泉市| 灵璧县| 横山县| 沙河市| 新兴县| 双城市| 天峨县| 玉屏| 大同县| 宿州市| 涡阳县| 杭州市| 内黄县| 巴东县| 且末县| 旌德县| 西乌珠穆沁旗| 荥经县| 广水市|