Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 使用razor在MVC3上实现分页_Asp.net Mvc 3_Paging - Fatal编程技术网

Asp.net mvc 3 使用razor在MVC3上实现分页

Asp.net mvc 3 使用razor在MVC3上实现分页,asp.net-mvc-3,paging,Asp.net Mvc 3,Paging,我想用Razor在MVC3上实现分页和排序功能 有任何内置功能吗?或者需要手动实现 有人有关于这方面的文章吗?这是我讨厌的答案之一,但你的问题留给我去回答 你用谷歌搜索过吗? 在我的第一次尝试中: 这是我讨厌的答案之一,但你的问题留给我去做 你用谷歌搜索过吗? 在我的第一次尝试中: 公共操作结果索引(长parentObjectId,int parentObjectTypeId,int page=0) { var varialbe=someRepository.GetAll(parentObj

我想用Razor在MVC3上实现分页排序功能

有任何内置功能吗?或者需要手动实现


有人有关于这方面的文章吗?

这是我讨厌的答案之一,但你的问题留给我去回答

你用谷歌搜索过吗?

在我的第一次尝试中:


这是我讨厌的答案之一,但你的问题留给我去做

你用谷歌搜索过吗?

在我的第一次尝试中:

公共操作结果索引(长parentObjectId,int parentObjectTypeId,int page=0) { var varialbe=someRepository.GetAll(parentObjectId,parentObjectTypeId); var paginated=新的paginatedPublist(varialbe,page,ConfigRepository.PageSize,parentObjectId,parentObjectTypeId); if(Request.IsAjaxRequest()) { 返回部分视图(分页); } 返回视图(分页); } 然后

   @Ajax.ActionLink("Next >>", "Index",
                 new { page = Model.PageIndex + 1, parentObjectId = Model.ParentObjectId, parentObjectTypeId = Model.ParentObjectTypeId },
                 new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "someList", LoadingElementId = "loading-div" })

    @Ajax.ActionLink("<< Previous", "Index",
             new { page = Model.PageIndex - 1, parentObjectId = Model.ParentObjectId, parentObjectTypeId = Model.ParentObjectTypeId },
             new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "someList", LoadingElementId = "loading-div" })
@Ajax.ActionLink(“下一步>>”,“索引”,
新建{page=Model.PageIndex+1,parentObjectId=Model.parentObjectId,parentObjectTypeId=Model.parentObjectTypeId},
新的AjaxOptions{HttpMethod=“GET”,UpdateTargetId=“someList”,LoadingElementId=“loading div”})
@ActionLink(“
公共ActionResult索引(长parentObjectId,int parentObjectTypeId,int page=0)
{
var varialbe=someRepository.GetAll(parentObjectId,parentObjectTypeId);
var paginated=新的paginatedPublist(varialbe,page,ConfigRepository.PageSize,parentObjectId,parentObjectTypeId);
if(Request.IsAjaxRequest())
{
返回部分视图(分页);
}
返回视图(分页);
}
然后

   @Ajax.ActionLink("Next >>", "Index",
                 new { page = Model.PageIndex + 1, parentObjectId = Model.ParentObjectId, parentObjectTypeId = Model.ParentObjectTypeId },
                 new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "someList", LoadingElementId = "loading-div" })

    @Ajax.ActionLink("<< Previous", "Index",
             new { page = Model.PageIndex - 1, parentObjectId = Model.ParentObjectId, parentObjectTypeId = Model.ParentObjectTypeId },
             new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "someList", LoadingElementId = "loading-div" })
@Ajax.ActionLink(“下一步>>”,“索引”,
新建{page=Model.PageIndex+1,parentObjectId=Model.parentObjectId,parentObjectTypeId=Model.parentObjectTypeId},
新的AjaxOptions{HttpMethod=“GET”,UpdateTargetId=“someList”,LoadingElementId=“loading div”})
@ActionLink(“
public ActionResult Index())
{
尝试
{
ViewBag.SiteMaster=objReportManager.GetSites();
ViewBag.Status=objReportManager.GetTransactionStatus();
Info(“控制器:索引方法结束和返回视图”);
返回视图();
}
捕获(例外情况除外)
{
logger.Error(“报告控制器:索引方法错误”,ex);
投掷;
}
}
public ActionResult GetReconReport(字符串StartDate、字符串EndDate、字符串TransactionStatus、字符串SiteStatus、字符串SiteOrderID、字符串TransactionId、字符串SiteCode、字符串页面、字符串行、字符串排序、字符串sidx)
{
尝试
{
Info(“ReconController:GetReconReport方法已启动”);
int totalCount=0;
List dataList=objReconReportMgr.ReadReconReport(开始日期、结束日期、事务状态、站点状态、站点医嘱ID、事务ID、站点代码、,
sidx,sord,Convert.ToInt32(第1页)-1,Convert.ToInt32(第1行),WebSession.UserID,ref totalCount);
DebugFormat(“[”+dataList.Count+“]ReconController:GetReconReport方法和为ReconReport找到的{0}条记录总数。”);
var数据=新
{
总计=(totalCount+Convert.ToInt32(行)-1)/Convert.ToInt32(行),
第页=第页转换为(1),
记录=总计数,
行=(来自数据列表中的侦察)
选择新的
{
id=侦察事务id,
单元格=新字符串[]{
侦察事务状态,
侦察现场状态,
Convert.ToString(侦察事务ID),
侦察员,参考号,
侦察员:SiteOrderID,
侦察站代码,
侦察事务状态图像,
侦察现场状态图像,
Convert.ToString(recon.DateCreated)
}
}
).ToArray()
};
Info(“ReconController:GetReconReport方法结束并返回json”);
返回Json(数据,JsonRequestBehavior.AllowGet);
}
捕获(例外情况除外)
{
logger.Error(“ReconController:GetReconReport方法错误”,ex);
投掷;
}
}
public ActionResult Index()
{
尝试
{
ViewBag.SiteMaster=objReportManager.GetSites();
ViewBag.Status=objReportManager.GetTransactionStatus();
Info(“控制器:索引方法结束和返回视图”);
返回视图();
}
捕获(例外情况除外)
{
logger.Error(“报告控制器:索引方法错误”,ex);
投掷;
}
}
public ActionResult GetReconReport(字符串StartDate、字符串EndDate、字符串TransactionStatus、字符串SiteStatus、字符串SiteOrderID、字符串TransactionId、字符串SiteCode、字符串页面、字符串行、字符串排序、字符串sidx)
{
尝试
{
Info(“ReconController:GetReconReport方法已启动”);
int totalCount=0;
List dataList=objReconReportMgr.ReadReconReport(开始日期、结束日期、事务状态、站点状态、站点医嘱ID、事务ID、站点代码、,
sidx,sord,Convert.ToInt32(第1页)-1,Convert.ToInt32(第1行),WebSession.UserID,ref totalCount);
DebugFormat(“[”+dataList.Count+“]ReconController:GetReconReport方法和为ReconReport找到的{0}条记录总数。”);
var数据=新
{
总计=(totalCount+Convert.ToInt32(行)-1)/Convert.ToInt32(行),
第页=第页转换为(1),
记录=总计数,
行=(来自数据列表中的侦察)
选择新的
{
id=侦察事务id,
单元格=新字符串[]{
侦察事务状态,
侦察现场状态,
public class PaginatedSubList<T> : PaginatedList<T>
        {
            #region Custom Properties

            public long ParentObjectId { get; set; }
            public int ParentObjectTypeId { get; set; }

            #endregion

            public PaginatedSubList(IQueryable<T> source, int pageIndex, int pageSize, long parentObjectId, int parentObjectTypeId)
                : base(source, pageIndex, pageSize)
            {
                ParentObjectId = parentObjectId;
                ParentObjectTypeId = parentObjectTypeId;
            }
        }
public ActionResult Index()
 {
  try
   {

      ViewBag.SiteMaster = objReportManager.GetSites();
      ViewBag.Status = objReportManager.GetTransactionStatus();
      logger.Info("ReconController : Index method end and return view");
      return View();
   }
      catch (Exception ex)
        {
            logger.Error(" ReportsController : Index method  error", ex);
            throw;
        }
    }

    public ActionResult GetReconReport(string StartDate, string EndDate, string TransactionStatus, string SiteStatus, string SiteOrderID, string TransactionId, string SiteCode, string page, string rows, string sord, string sidx)
    {
        try
        {
            logger.Info(" ReconController : GetReconReport method started ");
            int totalCount = 0;

            List<ReconReportTransactionInfo> dataList = objReconReportMgr.ReadReconReport(StartDate, EndDate, TransactionStatus, SiteStatus, SiteOrderID, TransactionId, SiteCode,
                  sidx, sord, Convert.ToInt32(page ?? "1") - 1, Convert.ToInt32(rows ?? "1"), WebSession.UserID, ref totalCount);

   logger.DebugFormat("[" + dataList.Count + "] ReconController : GetReconReport method and Total {0} records found for ReconReport.");
   var data = new
      {
        total = (totalCount + Convert.ToInt32(rows) - 1) / Convert.ToInt32(rows),
        page = page.ConvertTo<int>(1),
        records = totalCount,
        rows = (from recon in dataList
            select new
              {
              id = recon.TransactionID,
              cell = new string[] {
              recon.TransactionStatus,
              recon.SiteStatus,
              Convert.ToString(recon.TransactionID),
              recon.ReferenceNo,
              recon.SiteOrderID,
              recon.SiteCode,
              recon.TransactionStatusImage,
              recon.SiteStatusImage,
              Convert.ToString(recon.DateCreated)
          }
          }
         ).ToArray()

        };
       logger.Info(" ReconController : GetReconReport method end and return json ");
            return Json(data, JsonRequestBehavior.AllowGet);
        }
        catch (Exception ex)
        {
            logger.Error(" ReconController : GetReconReport method  error", ex);
            throw;
        }
    }
    //REPORTS GRID
    $(document).ready(function () {
       $.jgrid.formatter.integer = { thousandsSeparator: "" };
       $("#btnFilter").button();
       $("#dataList").jqGrid
        ({

         this is url to set controller/action
         **// url: "/Recon/GetReconReport",**
         datatype: "json",
         colNames: ['Transaction Status', 'Site Status', 'Transaction ID', 'Reference No', 'Site Order ID', 'Site Code', 'TransactionStatusImage', 'SiteStatusImage', 'Transaction Date', 'Actions'],
         colModel: [{ name: 'TransactionStatus', index: 'TransactionStatus', width: 30, search: false, align: 'center' },
                    { name: 'SiteStatus', index: 'SiteStatus', width: 30, search: false, align: 'center' },
                    { name: 'TransactionID', index: 'TransactionID', width: 35, align: 'center' },
                    { name: 'ReferenceNo', index: 'ReferenceNo', width: 50, hidden: false, search: false },
                    { name: 'SiteOrderID', index: 'SiteOrderID', width: 50, hidden: false, search: false },
                    { name: 'SiteCode', index: 'SiteCode', width: 20, search: false },
                    { name: 'TransactionStatusImage', index: 'TransactionStatusImage', width: 35, search: false, hidden: true },
                    { name: 'SiteStatusImage', index: 'SiteStatusImage', width: 35, search: false, align: 'center', hidden: true },
                    { name: 'DateCreated', index: 'DateCreated', width: 40, search: false, sortable: true, formatter: "datetime", formatoptions: { srcformat: "d/m/Y H:i A", newformat: "ShortDate"} },
                    { name: 'Actions', index: 'Actions', width: 20, align: 'center', hidden: true, search: false, sortable: false}],
         rowNum: 20,
         rowList: [10, 20, 50],
         width: 1000,
         rownumbers: true,
         rownumWidth: 30,
         multiselect: false,
         viewrecords: true,
         height: 400,
         scrolling: true,
         shrinktofit: true,
         sortname: 'DateCreated',
         sortorder: "desc",
         pager: '#pager',
         subGrid: true,
         caption: "Reconciliation Report",
         subGridRowExpanded: function (subgrid_id, row_id) {

             var subgrid_table_id;
             subgrid_table_id = subgrid_id + "_t";
             $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table>");

             jQuery("#" + subgrid_table_id).jqGrid({
                 url: "Recon/GetTransactioPayment?TransactionID=" + row_id,
                 datatype: "json",
                 colNames: ['Payment Status', 'Processor Status', 'Transaction ID', 'Payment ID', 'Payment Mode', 'Processor', 'PaymentStatusImage', 'ProcessorStatusImage', 'Payment Date'],
                 colModel: [{ name: "PaymentStatus", index: "PaymentStatus", width: 120, align: 'center', sortable: false },
                            { name: "ProcessorStatus", index: "ProcessorStatus", width: 120, align: 'center', sortable: false },
                            { name: "TransactionID", index: "TransactionID", width: 60, hidden: true },
                            { name: "PaymentID", index: "PaymentID", width: 100, key: true },
                            { name: "PaymentMode", index: "PaymentMode", width: 100 },
                            { name: "Processor", index: "Processor", width: 200 },
                            { name: "PaymentStatusImage", index: "PaymentStatusImage", hidden: true },
                            { name: "ProcessorStatusImage", index: "ProcessorStatusImage", hidden: true },
                            { name: "DateCreated", index: "DateCreated", width: 140 }
                      ],
                 sortname: 'DateCreated',
                 sortorder: "desc",
                 height: '100%',
                 width: 1100,![enter image description here][1]
                 gridComplete: function () {

                     var gridObj = jQuery("#" + subgrid_table_id);
                     var ids = gridObj.jqGrid('getDataIDs');

                     for (var i = 0; i < ids.length; i++) {
                         var cl = ids[i];
                         var ret = gridObj.jqGrid('getRowData', cl);

                         var subGridPaymentStatus;
                         var subGridProcessorStatus;

                         var subGridPaymentStatus = "<img src=" + "@ViewBag.ImagePath" + "/" + ret.PaymentStatusImage + "  alt='S' title='" + ret.PaymentStatus + "'>";

                         if (ret.ProcessorStatus == '-N/A-') {
                             subGridProcessorStatus = "<img src=../../Content/images/NoStatus.png  alt='S' title='-N/A-' />";
                         }
                         else {
                             subGridProcessorStatus = "<img src=" + "@ViewBag.ImagePath" + "/" + ret.ProcessorStatusImage + "  alt='S' title='" + ret.ProcessorStatus + "'>";
                         }

                         gridObj.jqGrid('setRowData', cl, { PaymentStatus: subGridPaymentStatus, ProcessorStatus: subGridProcessorStatus });
                     }
                 }
             });
         },
         gridComplete: function () {
             var ids = jQuery("#dataList").jqGrid('getDataIDs');
             for (var i = 0; i < ids.length; i++) {
                 var cl = ids[i];
                 var ret = jQuery("#dataList").jqGrid('getRowData', cl);

                 var siteStatus;
                 var trsStatus = "<img src=" + "@ViewBag.ImagePath" + "/" + ret.TransactionStatusImage + "  alt='S' title='" + ret.TransactionStatus + "'>"

                 if (ret.SiteStatus == '-N/A-') {
                     siteStatus = "<img src=../../Content/images/NoStatus.png  alt='S' title='-N/A-' />";
                 }
                 else {
                     siteStatus = "<img src=" + "@ViewBag.ImagePath" + "/" + ret.SiteStatusImage + "  alt='S' title='" + ret.SiteStatus + "'>"
                 }

                 jQuery("#dataList").jqGrid('setRowData', cl, { TransactionStatus: trsStatus, SiteStatus: siteStatus });
             }
         }

     }).navGrid("#pager",
                        { edit: false, add: false, del: false, search: false },
                        {}, {}, {},
                         {
                             caption: "Search...",
                             Find: "Filter",
                             Reset: "Reset",
                             sopt: ['eq']
                         })
                         .navButtonAdd('#pager', {
                             caption: "Export to Excel&nbsp;&nbsp;&nbsp;",
                             buttonicon: "ui-icon-add",
                             onClickButton: function () {
                                 ExportToExcel();
                             },
                             position: "last"
                         });