.Net Core学习笔记(四)输入Model

基于之前的项目,我们需要向数据库(存疑)输入一些参数,需要一个Input的Model和方法

使用一个超链接做一个跳转

在Views类中添加一个HTML页面

<form method="post">
            <div>战队名:<input type="text" name="FirstName" value="" /></div>
            <div>选手ID<input type="text" name="LastName" value="" /></div>
            <div>出生年月<input type="datetime-local" name="BirthDay" value="" /></div>
            <div>
                <select>
                    <option>男</option>
                    <option>女</option>
                </select>
            </div>
            <hr />
            <button type="submit" name="Save">保存</button>
        </form>

让它以post方法向服务器提交数据

在homecontroller控制器中写入对GET和POST请求的方法:

        //缺省[HttpGet]
        public IActionResult Create()
        {
            return View();
        }

        [HttpPost]
        public IActionResult Create(StudentCreateModel stu)//传入model
        {
            var newStudent = new Student
            {
                FirstName = stu.FirstName,
                LastName=stu.LastName,
                BirthDay=stu.BirthDay,
                gender=stu.gender
            };
            var newModel = _repository.Add(newStudent);
            //return View("Detail", newModel);
            return RedirectToAction(nameof(Detail),new { id=newModel.Id});//重定向 ---nameof利于重构 匿名类
        }

其中为了防止页面反复提交表单,在提交完成之后使用重定向将页面定向为GET方法

同时构建接口和实现方法:

T Add(T newModel);//接口

实现:

public Student Add(Student newModel)
        {
            var maxId = ObjList.Max(x => x.Id);
            newModel.Id = maxId + 1;//模拟数据库自增
            ObjList.Add(newModel);
            return newModel;
        }

运行效果:

            

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值