ASP.NET MVC 2.0之顯示列表和詳細頁面操作
關(guān)于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,修改相關(guān)配置如下圖所示
在生成的HTML代碼中,進行相關(guān)展示方面的修改。主要代碼如下:
- <% 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
【編輯推薦】