欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ASP.NET-MVC-传值机制加EF实现

程序员文章站 2022-04-02 11:52:01
...

在Model中连接数据库

ASP.NET-MVC-传值机制加EF实现

此程序为在index页面中显示S表的内容,AddView页面可向S表中添加内容

DefaultController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using zsy.Models;  //注意引用命名空间

namespace zsy.Controllers
{
    public class DefaultController : Controller
    {
        SEntities1 db = new SEntities1();
        // GET: Default
        public ActionResult Index()
        {
            //查询表中所有的记录
            List<S> list = db.S.ToList();
            //将数据传递到前端页面
            ViewBag.list = list;
            return View();
        }

        public ActionResult AddView()
        {
            return View();
        }

        //Save方法用于处理表单传递过来的数据
        //实现从前端视图获取数据
        public ActionResult Save()
        {
            //获取数据的方法
            //将数据添加到数据库中:创建S的对象,然后将获取的值封装到此对象中,再将该对象交给
            //数据库上下文对象调用add()方法进行数据添加
            S s = new S();
            s.S_ = Request["s_"].ToString();
            s.SNAME = Request["sname"].ToString();
            s.AGE = Convert.ToInt32(Request["sage"]);
            s.SEX = Request["sex"].ToString();
            //修改状态,添加时不修改也可以
            db.Entry(s).State = System.Data.Entity.EntityState.Added;
            db.S.Add(s);
            db.SaveChanges();

            //更新完成之后,应该跳转到首页并进行数据的更新
            //View()代表返回的视图;如果要跳转到另一个方法应用Redirect()
            return Redirect("index");
        }
    }
}

Save方法的另一种写法

public ActionResult Save(FormCollection fc)
        {
            S s = new S();
            s.S_ = fc["s_"].ToString();
            s.SNAME = fc["sname"].ToString();
            s.AGE = Convert.ToInt32(fc["sage"]);
            s.SEX = fc["sex"].ToString();
            db.Entry(s).State = System.Data.Entity.EntityState.Added;
            db.S.Add(s);
            db.SaveChanges();
            return Redirect("index");
        }

Index.cshtml

@*引用命名空间*@
@using zsy.Models
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
    List<S> s = ViewBag.list;
}

@*将集合s中数据显示在table里*@
<table class="table table-bordered table-hover">
    <thead>
        <tr>
            <th>学号</th>
            <th>姓名</th>
            <th>年龄</th>
            <th>性别</th>
        </tr>
    </thead>
    <tbody>
        @foreach(S li in s)
        {
            <tr>
                <td>@li.S_</td>
                <td>@li.SNAME</td>
                <td>@li.AGE</td>
                <td>@li.SEX</td>
            </tr>
        }
    </tbody>
</table>
<a href="Default/AddView" class="btn btn-success">添加</a>


AddView.cshtml


@{
    ViewBag.Title = "AddView";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

    <form method="post" action="Save">
        <table class="table table-bordered table-hover">
            <tr>
                <td>学号:</td>
                <td><input name="s_" type="text" /></td>
            </tr>
            <tr>
                <td>姓名:</td>
                <td><input name="sname" type="text" /></td>
            </tr>
            <tr>
                <td>年龄:</td>
                <td><input name="sage" type="text" /></td>
            </tr>
            <tr>
                <td>性别:</td>
                <td><input name="sex" type="text" /></td>
            </tr>
            <tr>
                <td colspan="2"><input id="submit1" type="submit" value="提交" class="btn btn-sm" /></td>
            </tr>
        </table>
    </form>

运行界面:
 

ASP.NET-MVC-传值机制加EF实现

ASP.NET-MVC-传值机制加EF实现

 

相关标签: web