第一次寫部落格,文采不好請多見諒,這裡主要是寫一下,自己是如何處理分頁問題,我想初學者也遇到過這個問題。
分頁的情況下,編輯資訊有返回和編輯2個按鈕,操作後都是應該返回原分頁介面,使用tempdata把分頁的引數傳遞過去,但是只傳遞乙個,另外乙個不傳遞引數,導致點選返回能返回正常的分頁,而點選編輯的情況下,直接返回到首頁。
解決方式:大概的介紹下tempdata的使用。
tempdata儲存在session中,controller每次請求的時候都會從session中獲取 tempdata,然後清除session。基於這樣的事實,在每次請求結束後,tempdata的生命週期也就結束了。使用form傳遞另外乙個引數,大概的解決方式說了
好了下面上**讓大家看下
首先我們要在」資料列表「介面中獲取資料,首先是獲取pagesize當前頁的資料條數,page所在的第幾頁,recountcount資料的總條數
public actionresult fileinfolist(int page = 0)
int pagesize = 10
;
int pageindex =page;
int recountcount = 0
; viewbag.pagesize =pagesize;
viewbag.pageindex =pageindex;
list
list = new list();
iuploadfileservice file = loadservice();
criteria c = new
criteria();
try
catch
(system.exception e)
this.tempdata["
pagesize
"] =pagesize;
this.tempdata["
page
"] =page;
this.tempdata["
recountcount
"] =recountcount;
return
view(list);
}
用this.tempdata的形式,把
資料傳遞到需要呼叫資料的(
編輯資料資訊
)介面 傳遞給
viewdata["page"] = this.tempdata["page"];的方式
//////編輯資料資訊介面
/// ///
///public actionresult editfileinfo(int
fileid)
iuploadfileservice upload = loadservice();
uploadfilemodel model = new
uploadfilemodel();
try
catch
(exception e)
return
view(model);
}
前端通過 @html.hidden("page", viewdata["page"])表單傳遞的方式隱藏的把page引數在傳遞到編輯方法**中,如下面所示
//////編輯資料的方法
使用int page = convert.toint32(request.form["page"]);的方式把前台表單傳遞的page獲取,用
return redirecttoaction("fileinfolist", "filemanage", new );的方式返回分頁。返回按鈕直接通過介面中
viewdata["page"] = this.tempdata["page"];的方法獲取page的值。**如下
"button
" name="
btnback
" style="
border-style:none
"class="
graybtn
" value="
返 回" onclick="
window.location.href='@url.action(
"fileinfolist"
, new )'
" />
//////刪除單個資料
/// ///
///public actionresult delefileinfo(int
fileid)
catch
(exception e)
//判斷要刪除的分頁內資料情況,如果是分頁內最後一條資料則刪除後轉跳到page-1的頁面,否則轉跳到page的介面
if (page > 0
) );
}return redirecttoaction("
fileinfolist
", "
filemanage
", new
); }
return redirecttoaction("
fileinfolist
", "
filemanage");
}
這裡的3個區域性變數也是從「資料列表」介面獲取,這裡的pagesize 是每頁的最大資料條數。我們這裡先判斷是否是最後一頁
if (page > 0),如果是在進入判斷用
recountcount 總資料條數/(page第幾頁*
pagesize
每頁的最大資料條數
)的餘數,然後使用
math.ceiling進行向上取整,防止
datatable後端分頁 排序處理 MVC
datatable有專門用來分頁的外掛程式,可以去官網檢視。在js裡開啟可以分頁的開關 table tracking datatable aasorting 2,asc 在controller裡抓取資訊 int startrow convert.toint32 request.form start ...
自製MVC框架CRUD操作 列表 分頁顯示外掛程式介紹
這裡涉及到的操作都是引用自stephen.dalservice資料層。資料訪問層實現方式在後文中我會仔細的說明,先說明一下資料操作整合的外掛程式。用於插入記錄。狀態返回值 假定hashtable傳遞變數名的是context 那麼返回值可通過context insertattribute.valuek...
MVC 母版頁和部分頁面
大體框架 新建一空頁面 編輯模版頁 天涯海閣 br 2015 7 11 td tr table div body html 控制器 using system using system.collections.generic using system.linq using system.web usi...