MVC-添加数据的三种方式

本文详细介绍了一种在ASP.NET MVC框架下实现用户注册功能的方法,包括三种不同的数据提交方式:通过Request对象获取数据、使用与表单元素name属性一致的参数自动填充,以及将表单元素name属性与实体类属性保持一致以自动封装到实体对象中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Register</title>
</head>
<body>
    <div>
        @*第一种方式添加数据*@
        <form method="post" action="AddUserInfo">
            用户名<input type="text" name="txtName" value="" /><br />
            密 码<input type="password" name="txtPass" value="" /><br />
            邮 箱<input type="text" name="txtEmail" value="" /><br />
            <input type="submit" value="添加" />
        </form>

        <hr />
        @*第二种方式添加数据*@
        <form method="post" action="AddUserInfo2">
            用户名<input type="text" name="txtName" value="" /><br />
            密 码<input type="password" name="txtPass" value="" /><br />
            邮 箱<input type="text" name="txtEmail" value="" /><br />
            <input type="submit" value="添加" />
        </form>

        <hr />
        @*第三种方式添加数据*@
        <form method="post" action="AddUserInfo3">
            用户名<input type="text" name="UserName" value="" /><br />
            密 码<input type="password" name="UserPass" value="" /><br />
            邮 箱<input type="text" name="Email" value="" /><br />
            <input type="submit" value="添加" />
        </form>
    </div>
</body>
</html>

 

using Mvc190212.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Mvc190212.Controllers
{
    public class HomeController : Controller
    {
        UserInfoDbContext db = new UserInfoDbContext();

        // GET: Home
        public ActionResult Index()
        {
            return View();
        }

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

        //第一种方式,通过Request获得数据
        public ActionResult AddUserInfo()
        {
            UserInfo userInfo = new UserInfo();
            userInfo.UserName = Request["txtName"];
            userInfo.UserPass = Request["txtPass"];
            userInfo.Email = Request["txtEmail"];
            userInfo.RegTime = DateTime.Now;
            db.UserInfo.Add(userInfo);
            if (db.SaveChanges()>0)
            {
                return Content("ok");
            }
            else
            {
                return Content("Fail");
            }
            
        }

        //第二种方式,方法的参数名称和表单元素name属性一致,会自动填充对应的参数
        public ActionResult AddUserInfo2(string txtName,string txtPass,string txtEmail)
        {
            UserInfo userInfo = new UserInfo();
            userInfo.UserName = txtName;
            userInfo.UserPass = txtPass;
            userInfo.Email = txtEmail;
            userInfo.RegTime = DateTime.Now;
            db.UserInfo.Add(userInfo);
            if (db.SaveChanges() > 0)
            {
                return Content("ok");
            }
            else
            {
                return Content("Fail");
            }

        }

        //第三种方式,表单元素的name属性和实体类的属性一致,会自动封存到实体对象中
        public ActionResult AddUserInfo3(UserInfo userInfo)
        {
            userInfo.RegTime = DateTime.Now;
            db.UserInfo.Add(userInfo);
            if (db.SaveChanges() > 0)
            {
                return Content("ok");
            }
            else
            {
                return Content("Fail");
            }
        }
    }
}

 

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace Mvc190212.Models
{
    public class UserInfo
    {
        [Key]
        [Required]
        public int ID { get; set; }

        [Required]
        [StringLength(32)]
        public string UserName { get; set; }

        [Required]
        [StringLength(32)]
        public string UserPass { get; set; }

        [Required]
        public DateTime RegTime { get; set; }

        [Required]
        [StringLength(32)]
        public string Email { get; set; }
    }
}

 

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;
using System.Linq;
using System.Web;

namespace Mvc190212.Models
{
    public class UserInfoDbContext:DbContext
    {
        public UserInfoDbContext():base("name=connStr")
        {

        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        }

        public DbSet<UserInfo> UserInfo { get; set; }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值