ASP.NET使用ViewBag和HttpPost在MVC中进行自定义类的数据传递Demo

第一步创建一个实体类Product

在这里插入图片描述

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

namespace WebApplication1.Models
{
    public class Product
    {
        public string PName { get; set; }
        public int PNum { get; set; }
    }
}

第二步创建一个空的控制器

在这里插入图片描述

在这里插入图片描述

该控制器的代码为

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

namespace WebApplication1.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            return View();
        }
        [HttpPost] //这里如果不标记会报错的
        public ActionResult Index(Product p)
        {
        //这里用的实体类接收
            ViewBag.ProductInfo = $"您选择了名称为{p.PName},数量为{p.PNum}";
            return View();
        }
    }
}

第三步 右键添加视图

在这里插入图片描述

在这里插入图片描述

第四步 Index页面



@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div> 
      @*action的路径要写对,       method为post*@
        <form action="/Home/Index" method="post">
                             @*name的名字必须与实体类的属性相同*@
            <div>名称:<input type="text" name="PName" /> </div>
            <div>数量:<input type="text" name="PNum" /> </div>
            <input type="submit" value="提交" />
            @*接收的参数*@
            <h1>@ViewBag.ProductInfo</h1>
        </form>

    </div>
</body>
</html>

效果图

在这里插入图片描述

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章