MVC与数据库传值(二)——EF模型

MVC与数据库传值(二)——EF模型

注:

  • 跳转链接要符合路由规则
  • MVC框架的cshtml页面设计元素不能使用控件

表单的传输:
在视图cshtml中

<form method="post" action="Job/Save">
@*method是传输方式,由页面传输到控制器,post是加密传输,get是普通传输
action是把表单提交给谁进行处理,应该提交给某个具体的,控制器的某个方法进行处理
不写明所属控制器,则在当下控制器去寻找方法*@
<table class="table table-bordered table-hover">
        <tr>
            <td>姓名:</td>
            <td><input name="name" type="text" /></td>
        </tr>
        <tr>
            <td>年龄:</td>
            <td><input name="age" type="text" /></td>
        </tr>
        <tr>
            <td>编号:</td>
            <td><input name="id" type="text" /></td>
        </tr>
        <tr>
            <td>职业:</td>
            <td><input name="Career" type="text" /></td>
        </tr>
        <tr>
            <td><input id="Submit1" type="submit" value="提交" class="btn btn-sm" /></td>
        </tr>
    </table>
</form>

在对应的控制器中创建方法:接收来自页面的数据

//save方法用于处理表单传递过来的数据
        public ActionResult Save()
        {
        //数据封装
        //实现从前端视图获取数据,由于前端是从表单提交的,那就用表单的方法接收
         //默认取值结果是String类型,此处用键值对取值,
          //添加到数据库中,创建Job对象,然后将获取的值封装到此对象中,
          //将该对象交给数据库上下文对象,调用add()方法进行数据添加
            Job j = new Job();
            j.name = Request["name"];
            j.age = Convert.ToInt32(Request["age"]);
            j.id = Convert.ToInt32(Request["id"]);
            j.Career = Request["Career"];

            //交给数据库
            db.Entry(j).State = System.Data.Entity.EntityState.Added;
            //状态修改,ADD其实可以不用,但查改删需要先修改状态
            db.Jobs.Add(j);
            //保存
            db.SaveChanges();
           //保存之后,应该跳转到数据显示的主页,进行数据的更新显示
            //需要跳转到上面的Index()方法,用Redirect()跳转到另一个方法
            return Redirect("Index");     
               }

另一种接收数据的方法:

 public ActionResult Save(FormCollection fc)
        {
            //FormCollection是用来从窗体上取值的一个类,把表单里面的数据全部放到Form类里面
            //然后通过标签名称来从Form类里取值
            Job j = new Job();
            j.name = fc["name"];
            j.age = Convert.ToInt32(fc["age"]);
            j.Career = fc["Career"];
            db.Jobs.Add(j);
            //保存
            db.SaveChanges();
            //保存之后,应该跳转到数据显示的主页,进行数据的更新显示
            //需要跳转到上面的Index()方法,用Redirect()跳转到另一个方法
            return Redirect("Index");
        }

运行结果:

点击添加按钮之后跳转页面
在这里插入图片描述

输入数据:
在这里插入图片描述
选择提交:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值