MVC-添加数据的三种方式


@{
    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; }

    }
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要 ASP.NET MVC添加数据,你需要遵循以下步骤: 1. 创建一个模型类,定义你要添加数据的属性,例如: ```csharp public class Product { public int Id { get; set; } public string Name { get; set; } public decimal Price { get; set; } } ``` 2. 创建一个控制器类,并添加一个方法来处理添加数据的请求,例如: ```csharp public class ProductsController : Controller { private readonly ApplicationDbContext _context; public ProductsController(ApplicationDbContext context) { _context = context; } [HttpPost] [ValidateAntiForgeryToken] public async Task<IActionResult> Create(Product product) { if (ModelState.IsValid) { _context.Add(product); await _context.SaveChangesAsync(); return RedirectToAction(nameof(Index)); } return View(product); } } ``` 3. 创建一个视图来显示添加数据的表单,例如: ```html @model Product <form asp-action="Create"> <div class="form-group"> <label asp-for="Name" class="control-label"></label> <input asp-for="Name" class="form-control" /> <span asp-validation-for="Name" class="text-danger"></span> </div> <div class="form-group"> <label asp-for="Price" class="control-label"></label> <input asp-for="Price" class="form-control" /> <span asp-validation-for="Price" class="text-danger"></span> </div> <div class="form-group"> <input type="submit" value="Create" class="btn btn-primary" /> </div> </form> ``` 4. 添加路由,以便能够从浏览器中访问到添加数据的页面,例如: ```csharp app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); endpoints.MapControllerRoute( name: "create", pattern: "products/create", defaults: new { controller = "Products", action = "Create" }); }); ``` 现在你可以通过访问 /products/create 来打开添加数据的页面,在表单中输入数据并提交,数据将会被添加数据库中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值