强类型视图中提交表单,把View中的Model数据传递给Controller

若要实现强类型视图中提交表单,把View中的Model数据传递给Controller,那么必须要确保一件事——表单中的input标签元素的name属性的值必须与model中的属性名相同,不区分大小写。

示例代码如下:

view视图代码

@model MVCCase.Models.EditModels

<h2>Edit</h2>

<form action="/home/edit" method="post">

    <fieldset>
        <legend>EditModels</legend>

        <div class="editor-label">
            姓名
        </div>
        <div class="editor-field">
            <input type="text" name="name" />
        </div>

        <div class="editor-label">
            性别
        </div>
        <div class="editor-field">
            <input type="text" name="gender" />
        </div>

        <div class="editor-label">
            年龄
        </div>
        <div class="editor-field">
            <input type="text" name="age" />
        </div>

        <p>
            <input type="submit" value="Save" />
        </p>
    </fieldset>
</form>

:这里表单提交使用了post方式,以get方式也是没有问题的。


控制器代码

public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";

            return View();
        }

        public ActionResult Edit(EditModels model)
        {
            Response.Write(model.Name + " " + model.Age + " " + model.Gender);

            return View();
        }
}
:这里只是验证数据有没有传到后端。


model代码

public class EditModels
    {
        public string Name { get; set; }

        public string Gender { get; set; }

        public string Age { get; set; }
    }

另,B/S应用程序,如客户端使用:ExtJs和JqueryUI等 ,可以使用FormCollection接收客户端数据,代码如下

view中代码

@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <title>用户编辑</title>
</head>
<body>
    @using (@Html.BeginForm())
    {
        <div>
            用户名:@Html.TextBox("UserName", null, new { @style = "width:200px" })
        </div>
        <div>
            密码:@Html.Password("Password")
        </div>
        <div>
            <input type="submit" value="提交" /></div>
    }
</body>
</html>

控制器中代码

//UserEdit
        public ActionResult UserEdit_01()
        {
            return View();
        }

        [HttpPost]//UserEdit
        public ActionResult UserEdit_01(FormCollection form)
        {
            Response.Write(form["UserName"]);
            Response.Write("<br />");
            Response.Write(form[1]);
            Response.Write("<br />");
            return View();
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰望星空的代码

创作不易,您的支持是我的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值