天天看點

Asp.net MVC2.0系列文章-編輯和删除新聞操作

建立新聞首頁,用來顯示新聞清單。

在Views/News目錄下,單擊右鍵,選擇Add->View,修改相關配置如下圖所示

Asp.net MVC2.0系列文章-編輯和删除新聞操作

NewsEdit View

Asp.net MVC2.0系列文章-編輯和删除新聞操作

NewsDelete View

在生成的HTML代碼中,進行相關展示方面的修改。主要代碼如下:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <h2>新聞編輯-</h2>

    <% using (Html.BeginForm()) {%>

        <%: Html.ValidationSummary(true) %>     

        <fieldset>

            <legend>Fields</legend>

            <div class="editor-label" style="display:none;">

                <%: Html.LabelFor(model => model.Id) %>

            </div>

            <div class="editor-field" style="display:none;">

                <%: Html.TextBoxFor(model => model.Id)%>

                <%: Html.ValidationMessageFor(model => model.Id) %>

            <div class="editor-label">

                <%: Html.LabelFor(model => model.Title) %>

            <div class="editor-field">

                <%: Html.TextBoxFor(model => model.Title) %>

                <%: Html.ValidationMessageFor(model => model.Title) %>

                <%: Html.LabelFor(model => model.CreateTime)%>

                <%: Html.TextBoxFor(model => model.CreateTime,new { @class = "date" }) %>

                <%: Html.ValidationMessageFor(model => model.CreateTime) %>

                <%: Html.LabelFor(model => model.Content) %>

                <%: Html.EditorFor(model => model.Content) %>

                <%: Html.ValidationMessageFor(model => model.Content) %>

            <p>

                <input type="submit" value="Save" />

            </p>

        </fieldset>

    <% } %>

    <div>

        <%: Html.ActionLink("Back to List", "Index") %>

    </div>

</asp:Content>

新聞編輯頁面HTML代碼。

隐藏style="display:none;" 新聞編号Id

删除頁面NewsDelete.aspx主要代碼如下:

    <h2>删除新聞</h2>

    <h3>确認要删除此條記錄嗎?</h3>

    <fieldset>

        <legend>Fields</legend>

        <div class="display-label">編号:</div>

        <div class="display-field"><%: Model.Id %></div>

        <div class="display-label">标題:</div>

        <div class="display-field"><%: Model.Title %></div>

        <div class="display-label">建立時間:</div>

        <div class="display-field"><%: String.Format("{0:g}", Model.CreateTime) %></div>

        <div class="display-label">新聞内容</div>

        <div class="display-field"><%: Model.Content %></div>

    </fieldset>

    <% using (Html.BeginForm()) { %>

        <p>

                       <input type="submit" value="Delete" /> |

                       <%: Html.ActionLink("Back to List", "Index") %>

        </p>

在Controllers/News檔案下

Asp.net MVC2.0系列文章-編輯和删除新聞操作

修改NewsEdit.aspx頁面所對應的的Action方法NewsEdit,以使NewsEdit.aspx頁面初始化資料,此處未讀讀取資料庫,而是從靜态變臉集合中讀取相對應的記錄。

NewsEdit.asp所對應的 Action 代碼如下:

//編輯頁面初始化方法

        // GET: /News/Edit/5

        public ActionResult NewsEdit(int id)

        {

            THelperMVC.Models.News.NewsModel news = newsList[id];

            return View(news);

        }

[HttpPost]

//點選編輯按鈕時,觸發的方法

        public ActionResult Edit(int id, FormCollection collection)

            try

            {

                // TODO: 添加更新業務邏輯

                return RedirectToAction("Index");

            }

            catch

                return View();

NewsDelete.Aspx所對應的Action方法,如下

// GET: /News/Delete/5

        /// <summary>

        /// 頁面初始化時,觸發的方法

        /// </summary>

        /// <param name="id">URL中的參數Id值</param>

        /// <returns>新聞實體對象</returns>

        public ActionResult NewsDelete(int id)

        // POST: /News/Delete/5

        [HttpPost]

        //點選【删除】按鈕時觸發的方法

        public ActionResult Delete(int id, FormCollection collection)

                // TODO: 添加删除業務邏輯

根據URL傳過來的參數(即新聞編号Id),從全局靜态變量中尋找NewsModel實體,進而初始化新聞删除頁面。

最後修改新聞頁Index.aspx中的Edit連接配接,如下圖所示:

此時,點選新聞頁Index.aspx超連結,會尋找NewsController檔案夾下的NewsEdit方法或者NewsDelete方法,進而初始化Views/News/NewsEdit.aspx頁面或者Views/News/NewsDelete.aspx頁面,

按下Ctrl+F5運作程式,如下圖所示:

Asp.net MVC2.0系列文章-編輯和删除新聞操作

點選上圖中的【News】超連結,跳轉到新聞清單頁面,如下圖所示:

Asp.net MVC2.0系列文章-編輯和删除新聞操作

點選【Edit】超連結,會跳轉到相應記錄的編輯頁面,如下圖所示:

Asp.net MVC2.0系列文章-編輯和删除新聞操作

點選【Delete】超連結,會跳轉到相應記錄的删除頁面,如下圖所示:

Asp.net MVC2.0系列文章-編輯和删除新聞操作

至此,使用Asp,net MVC2.0架構完成了簡單的增查改删操作。接下來,在時間允許的情況下,會對MVC2.0架構原理進行一些總結,還望園子裡德朋友指點。

版權

作者:靈動生活 郝憲玮

如果你認為此文章有用,請點選底端的【推薦】讓其他人也了解此文章,

Asp.net MVC2.0系列文章-編輯和删除新聞操作

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。