ASP.NET MVC 2.0之顯示列表和詳細頁面操作
關于ASP.NET MVC框架,51CTO-.NET頻道向您推薦,本系列文章還包括
***篇《ASP.NET MVC 2.0之MVC框架簡介》
第二篇《ASP.NET MVC 2.0之如何運行WEB應用》
第三篇《ASP.NET MVC 2.0之添加操作》
創(chuàng)建View視圖Index和NewsDetails
創(chuàng)建新聞首頁,用來顯示新聞列表。
在Views/News目錄下,單擊右鍵,選擇Add->View,修改相關配置如下圖所示

在生成的HTML代碼中,進行相關展示方面的修改。主要代碼如下:
- <% foreach (var item in Model) { %>
 - <tr>
 - <td>
 - <%: Html.ActionLink("Edit", "NewsEdit", new { id=item.Id }) %> |
 - <%: Html.ActionLink("Details", "NewsDetails", new { id=item.Id })%> |
 - <%: Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })%>
 - </td>
 - <td>
 - <%: item.Title %>
 - </td>
 - <td>
 - <%: String.Format("{0:g}", item.CreateTime) %>
 - </td>
 - <td>
 - <%: item.Content %>
 - </td>
 - </tr>
 - <% } %>
 
使用Foreach循環(huán)遍歷新聞List中的記錄。
- <%: Html.ActionLink("Details", "NewsDetails", new { id=item.Id })%>
 
此連接URL會尋找當前Controller下的NewsDetails Action方法,以新聞編號Id為參數(shù)進行傳值。
同樣的方法創(chuàng)建新聞詳細頁面視圖NewsDetails.asp

生成的核心代碼如下:
- <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
 - <h2>詳細內(nèi)容</h2>
 - <fieldset>
 - <legend>新聞</legend>
 - <div class="display-label">標題</div>
 - <div class="display-field"><%: Model.Title %></div>
 - <div class="display-label">創(chuàng)建時間</div>
 - <div class="display-field"><%: String.Format("{0:g}", Model.CreateTime) %>
 - </div>
 - <div class="display-label">新聞內(nèi)容</div>
 - <div class="display-field"><%: Model.Content %></div>
 - </fieldset>
 - <p>
 - <%: Html.ActionLink("Edit", "NewsEdit", new { id=Model.Id }) %> |
 - <%: Html.ActionLink("Back to List", "Index") %>
 - </p>
 - </asp:Content>
 
<%: Html.ActionLink("Edit", "NewsEdit", new { id=Model.Id }) %> | 此連接會跳轉(zhuǎn)到新聞編輯頁面,同樣以新聞編號Id傳值。
修改Controller文件
在Controllers/News文件下

修改Action Name=Index的方法,以使Index.aspx頁面初始化數(shù)據(jù),此處未讀讀取數(shù)據(jù)庫,而是偽造了一些數(shù)據(jù),且放到靜態(tài)變量中:
- public static List<THelperMVC.Models.News.NewsModel> newsList;
 
Index Action 代碼如下:
- public ActionResult Index()
 - {
 - newsList= new List<THelperMVC.Models.News.NewsModel>();
 - for (int i = 0; i < 10; i++)
 - {
 - THelperMVC.Models.News.NewsModel news=new THelperMVC.Models.News.NewsModel();
 - news.Id = i;
 - news.Title = "Title" + i.ToString();
 - news.CreateTime = System.DateTime.Now;
 - news.Content = "Content 新?聞?內(nèi)¨²容¨Y" + i.ToString();
 - newsList.Add(news);
 - }
 - return View(newsList);
 - }
 
使用For循環(huán)生成10條新聞記錄。
修改NewsDetails.Aspx所對應的Action方法,如下
- // GET: /News/Details/5
 - public ActionResult NewsDetails(int id)
 - {
 - THelperMVC.Models.News.NewsModel news=newsList[id];
 - return View(news);
 - }
 
根據(jù)URL傳過來的參數(shù)(即新聞編號Id),從全局靜態(tài)變量中尋找NewsModel實體,從而初始化新聞詳細頁面。
***修改母版頁中的,News連接,如下圖所示:

此時,點擊首頁的News超鏈接,會尋找NewsController文件夾下的Index方法,從而初始化Views/News/Index.aspx頁面。
程序運行效果
按下Ctrl+F5運行程序,如下圖所示:

點擊上圖中的【News】超鏈接,跳轉(zhuǎn)到新聞列表頁面,如下圖所示:

點擊Details超鏈接,會跳轉(zhuǎn)到相應記錄的詳細頁面,如下圖所示:

原文標題:Asp.net MVC2.0系列文章-顯示列表和詳細頁面操作
鏈接:http://www.cnblogs.com/ywqu/archive/2010/06/28/1766403.html
【編輯推薦】















 
 
 
 
 
 
 