您的位置:首页 > 编程语言 > ASP

ASP.NET MVC入门教程(六)文章的管理

2018-06-07 16:31 417 查看
ASP.NET MVC入门教程(六)文章的管理

本部分内容主要包括

1.文章的编辑:文章的编辑部分前端视图与发表文章的视图基本一致

2.文章的删除

一、文章的编辑

1.创建文章的编辑视图

在Article控制器的Edit(int id)方法内右键单击,选择添加视图



将Create视图的代码复制到Eidt视图中。

2.在Edit(int id)方法中输入以下代码。

对于编辑,要先根据其id取得文章的内容,并在视图上进行呈现,以便于用户进行内容的修改.在操作之前,先修改一下ArticleCreateViewModel视图模型,为其加上id属性。如果我们编辑也使用该视图模型,就必须有Id,否则,我们在更新记录时,要用到其Id。如果不想修改该模型,就重新另建一个视图模型即可。

public int id { get; set; }
[Display(Name ="文章标题")]
[Required(ErrorMessage ="文章标题不能为空")]
[MinLength(6,ErrorMessage ="文章标题不能少于6个字符")]
[MaxLength(30,ErrorMessage ="文章标题不能超过30个字符")]
public string title { get; set; }

// GET: Article/Edit/5
public ActionResult Edit(int id)
{
tb_article tArticle = db.tb_article.Find(id);
ArticleCreateViewModel article = new ArticleCreateViewModel();
article.id = id;
article.title = tArticle.Name;
article.author = tArticle.Author;
article.content = tArticle.Content;
return View(article);
}

3.测试是否以在视图上显示数据,首先打开列表页(Index),从列表页点击编辑文章,以打开编辑文章视图页。



4.编写[HttpPost]的Edit方法

// POST: Article/Edit/5
[HttpPost]
[ValidateAntiForgeryToken]
[ValidateInput(false)]
public ActionResult Edit(ArticleCreateViewModel article)
{
if (ModelState.IsValid)
{
tb_article tArticle = db.tb_article.Find(article.id);
tArticle.Name = article.title;
tArticle.Author = article.author;
tArticle.Content = article.content;

db.Entry(tArticle).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();

return RedirectToAction("Index");
}
return View(article);
}

二、文章的删除

1.修改文章列表页

删除文章时,直接在文章列表页点击“删除文章”,应该弹出对话框,询问用户是否确定删除,如果确定删除,则删除,否则,什么也不做。

<td>
@Html.ActionLink("编辑文章", "Edit", new { id=item.id }) |
@Html.ActionLink("文章内容", "Details", new { id=item.id }) |
@Html.ActionLink("删除文章", "Delete", new { id=item.id }, new { @onclick = "return confirm('确定要删除此记录吗?')" })
</td>

new { @onclick = "return confirm('确定要删除此记录吗?')" }用于弹出询问对话框,询问用户是否确定删除文章

2.编写删除文章业务代码

删除Delete(int id)方法。在下面的的Delete方法中输入以下代码

[HttpPost]
public ActionResult Delete(int id)
{
tb_article article = db.tb_article.Find(id);
db.tb_article.Remove(article);
db.SaveChanges();
return RedirectToAction("Index");
}

三、测试文章的删除



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ASP.NET MVC