一、基础工作

1.新建项目

2.新建留言模型Guestbook

留言本制作(1)

3.新建数据上下文类

留言本制作(1)

4.修改连接字符串

留言本制作(1)

二、显示留言

1.创建GuestBook控制器

留言本制作(1)

2.添加显示留言的Index视图

留言本制作(1)

3.添加数据库数据

留言本制作(1)

4.运行网站查看效果

 留言本制作(1)

三、新建留言

1.在\Guestbook\Index.cshtml中,添加新建留言超链接

留言本制作(1)

2.添加Create的基本控制器代码

留言本制作(1)

3.添加Create的Get视图

留言本制作(1)

4.修改控制器中Create的Post代码

留言本制作(1)

5.运行网站查看效果

现在已经可以留言,并在首页显示了哦。

四、添加模型验证

1.模型属性都为必填

留言本制作(1)

2.添加Email验证

留言本制作(1)

3.添加CreatedOn的数据库默认值

 留言本制作(1)

留言本制作(1)

4.Create的Post代码修改

留言本制作(1)

5.修改Create视图的代码

留言本制作(1)

    加入jqueryval后,数据验证无需按下发布按钮,提交到服务器,立刻可以看到验证效果。

五、数据库迁移

1.Enable-Migrations

2.Add-Migration Initial

3.Update-Database

4.运行网站查看效果

留言本制作(1)

留言本制作(1)

六、管理员登录

1.添加管理员模型

    public class Admin
    {
        public int AdminId { get; set; }
        [DisplayName("用户名")]
        [Required(ErrorMessage="用户名不能为空")]
        public string Name { get; set; }
        [DisplayName("密码")]
        [Required(ErrorMessage="密码不能为空")]
        [DataType(DataType.Password)]
        public string Password { get; set; }
    }

2.新建控制器Account和Admin,在Account控制器中添加两个Login动作

3.在[HttpPost]动作中添加用户名密码是否正确的判定代码。

public ActionResult Login(Admin admin)
{
    if(ModelState.IsValid)
    {
        var dbAdminr=db. Admins.Where(a=>a.Name==admin.Name && a.Password==admin.Password).FirstOrDefault();
        if(!dbAdmin)
        {
            return RedirectToAction("Index");
        }
        ModelState.AddModelError("","用户名或密码错误");
        return View(admin);      
}

4.为Login动作添加相应视图,并设计登录界面

....
@using(Html.BeginForm())
{
    @Html.ValidationSummary()
    <p>用户名:@Html.EditorFor(a=>a.Name)
         @Html.ValidationMessageFor(a=>a.Name)</p>
     <p>密码:@Html.EditorFor(a=>a.Password)
         @Html.ValidationMessageFor(a=>a.Password)</p>
     <input type="submit" value="登录"/>
}

5.登录成功后,进入管理员后台首页。

6.在Admin控制器中添加Index动作,并添加相应视图,显示全部留言。

7.运行网站

七、管理员删除留言

1.在后台首页每条留言的下方,去添加删除留言的超链接。

@model IEnumerable<GuestBookSystem.Models.Guestbook>
@{
    ViewBag.Title = "Index";
}

<h2>管理员后台首页</h2>
@foreach (var gb in Model)
{
    <p>留言人:@gb.AuthorEmail,时间:@gb.CreatedOn</p>
    <p>标题:@gb.Title</p>
    <p>内容:@gb.Content</p>
    <p>@Html.ActionLink("删除留言", "Delete", new { id = gb.GuestbookId })</p>
    <hr />
}

 

2.在Admin控制器中添加两个Delete动作,并添加删除留言的代码,删除留言成功后跳转到后台首页

留言本制作(1)

3.添加相应视图

@model GuestBookSystem.Models.Guestbook

@{
    ViewBag.Title = "Delete";
}

<h2>确认是否删除?</h2>
<p>留言人邮箱:@Model.AuthorEmail</p>
<p>内容:@Model.Content</p>
<p>时间:@Model.CreatedOn</p>
@using(Html.BeginForm())
{
    <input type="submit" value="确认删除" />
}

 

4.运行网站

 

相关文章:

  • 2021-12-21
  • 2021-09-05
  • 2021-06-30
  • 2021-12-15
  • 2021-11-30
  • 2022-02-25
  • 2022-02-09
  • 2022-12-23
猜你喜欢
  • 2021-09-23
  • 2022-12-23
  • 2021-10-15
  • 2021-11-04
  • 2021-11-01
  • 2021-11-04
  • 2021-11-28
相关资源
相似解决方案