學習MVC框架,處理分頁和刪除分頁轉跳的問題

2022-02-13 05:05:19 字數 3282 閱讀 3615

第一次寫部落格,文采不好請多見諒,這裡主要是寫一下,自己是如何處理分頁問題,我想初學者也遇到過這個問題。

分頁的情況下,編輯資訊有返回和編輯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...