现在的位置: 首页 > 综合 > 正文

Asp.net MVC2.0系列文章-编辑和删除新闻操作

2013年10月04日 ⁄ 综合 ⁄ 共 3284字 ⁄ 字号 评论关闭

上一篇文章,我们简单地完成了新闻内容的展示功能(Asp.net MVC2.0系列文章-显示列表和详细页面操作),此篇文章,我们使用Asp.net MVC2.0实现新闻记录的编辑和删除功能。

创建View视图NewsEditNewsDelete

创建新闻首页,用来显示新闻列表。

Views/News目录下,单击右键,选择Add->View,修改相关配置如下图所示

NewsEdit View

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>

           

            <div class="editor-label">

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

            </div>

            <div class="editor-field">

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

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

            </div>

           

            <div class="editor-label">

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

            </div>

            <div class="editor-field">

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

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

            </div>

           

            <div class="editor-label">

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

            </div>

            <div class="editor-field">

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

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

            </div>

           

            <p>

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

            </p>

        </fieldset>

    <% } %>

    <div>

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

    </div>

</asp:Content>

 

新闻编辑页面HTML代码。

隐藏style="display:none;" 新闻编号Id

给日期文本框加Class=”Date”属性:new { @class = "date" },从而当用户点击日期文本框时,显示日历控件,供用户选择日期。详情,请参照文章: Asp.net MVC2.0系列文章-添加操作.

 

删除页面NewsDelete.aspx主要代码如下:

 

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

    <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>

    <% } %>

</asp:Content>

修改Controller文件

Controllers/News文件下

修改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 coll

抱歉!评论已关闭.