Asp.Net Mvc2 增刪改查DEMO代碼

來源:互聯網
上載者:User

1、List頁面
一般List頁面主要用來顯示資料,本文中的List頁面提供,資料顯示並且分頁、刪除操作、新增及修改操作。因為看到園子裡面有部分人在使用MVC進行資料顯示的時候還在使用ViewData,這裡介紹的是強型別顯示資料。添加新的視圖,在第一行代碼可以看到

複製代碼 代碼如下:<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

這裡可以定義這個視圖的類型,操作起來也比較方便,我們這裡這樣定義

複製代碼 代碼如下:<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<Web.Models.PageData<Web.Models.Users>>" %>

這裡返回的是一個分頁集合實體類,實體類定義 複製代碼 代碼如下:/// <summary>
/// 分頁查詢記錄集類
/// </summary>
/// <typeparam name="T">通類類型</typeparam>
public class PageData<T>
{
/// <summary>
/// 擷取或設定查詢返回的分頁記錄集
/// </summary>
public List<T> GetDate = new List<T>();

/// <summary>
/// 擷取或設定符合查詢條件總記錄數
/// </summary>
public int Count { get; set; }

/// <summary>
/// 每頁多少條
/// </summary>
public int PageSize = 5;

/// <summary>
/// 當前多少頁
/// </summary>
public int PageIndex { get; set; }
}

經過控制器處理之後返回相關參數,包含分頁所需要的顯示資料、總記錄數、頁碼、當前第幾頁資訊。因為在List頁面中已經定義過類型了,那麼調用的時候直接通過Model就可以調用出來。

可以看出,GetDate這個屬性中儲存的是泛型的資料集合,這樣我們就可以迴圈的顯示出來。如果分頁的話,根據頁碼傳值至控制器,重新擷取資料,填充,然後返回,再顯示,這裡就可以實現顯示資料並且分頁的功能了。這裡稍微介紹下分頁的外掛程式,用的是jquery.pagination,如果大家不熟悉使用的話,園子裡有詳細介紹的文章。

控制器中從資料庫中擷取相關資料,填充至實體類中,這樣視圖中直接調用就OK了。這裡說寫控制器中的寫法。

複製代碼 代碼如下:$(function () {
//分頁參數設定
$("#Pagination").pagination(<%=Model.Count%>, {
callback: pageselectCallback,
prev_text: "« 上一頁", //上一頁按鈕文字
next_text: "下一頁 »", //下一頁按鈕文字
items_per_page: <%=Model.PageSize%>, //每頁顯示多少條
num_display_entries: 5, //連續分頁主體部分顯示的分頁條目數
current_page: <%=Model.PageIndex%>, //當前多少頁
num_edge_entries: 1, //兩側顯示的首尾分頁的條目數
link_to: "?page=__id__"
});
});
function pageselectCallback(page_id, jq) {
//回呼函數
}

2、添加操作。
我們先定義一個實體類。 複製代碼 代碼如下:/// <summary>
/// 使用者ID
/// </summary>
public int UID { get; set; }

/// <summary>
/// 登入帳號
/// </summary>
public string UName { get; set; }

/// <summary>
/// 登入密碼
/// </summary>
public string UPassWord { get; set; }

然後在新增的頁面我們需要定義兩個input,然後輸入登入帳號和登入密碼,注意在定義兩個input的時候,請務必設定input的name屬性跟實體類對應,當然我們的視圖也需要定義類型為Users(實體類,類名),設定action和method屬性。 複製代碼 代碼如下:<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<Web.Models.Users>" %>
<form action="/Demo/Add/" method="post">
<table>
<tr>
<td>登入帳號:</td>
<td><input type="text" name="UName" /></td>
</tr>
<tr>
<td>登入密碼:</td>
<td><input type="password" name="UPassWord" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="提交" /></td>
</tr>
</table>
</form>

因為MVC會把表單自動對應到實體類的欄位中,那麼我們在控制器中直接擷取這個實體類就OK了。因為看到有些童鞋擷取資料是通過Request.Form[""]來擷取值的。 複製代碼 代碼如下:[HttpPost]
//進行添加操作
public ActionResult Add(Users model)
{
//這裡可以進行新增操作
//Bll.Add(model);
return RedirectToAction("List");
}

這樣實體類中就儲存了表單中的值了,不用在一個個去擷取賦值了。修改的話跟這個差不多,這裡就不過細去講了,在文章的最後會提供DEMO的下載。

點擊下載

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.