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>

效果

在这里插入图片描述

在这里插入图片描述

相关文章

数组的定义 Dim MyArray MyArray = Array(1‚5‚123‚12‚98...
\'参数: \'code:要检测的代码 \'leixing:html或者ubb \'n...
演示效果: 代码下载: 点击下载
环境:winxp sp2 ,mysql5.0.18,mysql odbc 3.51 driver 表采...
其实说起AJAX的初级应用是非常简单的,通俗的说就是客户端(j...
<% ’判断文件名是否合法 Function isFilename(aFilename...