如何将强类型模型对象从VIEW发送到CONTROLLER

时间:2014-06-27 15:02:22

标签: asp.net-mvc asp.net-mvc-4 c#-4.0 razor

嗨我在MVC中有一个强类型的VIEW。

模型渲染VIEW中的所有数据。

如何将此对象的Model对象与所有数据一起发送到表单提交的控制器。

发送Model对象的

CONTROLLER 1

return View(CurrentUser);
接收模型对象的

视图

@model WebApp.Models.UserEntity

 <h4><b>Contact Information:</b></h4>
                <ul>
                    <li>
                        <h4><b> Name:- @Model.FirstName  @Model.LastName </b></h4>
                    </li>

                    <li>
                        <h4><b> Address1:- @Model.Address1</b></h4>
                    </li>

                    <li>
                        <h4><b>Address2:- @Model.Address2</b></h4>
                    </li>

                    <li>
                        <h4><b> Attention:- @Model.Attention</b></h4>
                    </li>

                    <li>
                        <h4><b> City:- @Model.City</b></h4>
                    </li>
                    <li>
                        <h4><b> State:- @Model.StateName</b></h4>
                    </li>
                    <li>
                        <h4><b> Zip:- @Model.Zip</b></h4>
                    </li>
                    <li>
                        <h4><b>HomePhone:- @Model.HomePhone</b></h4>
                    </li>
                    <li>
                        <h4><b>CellPhone:- @Model.CellPhone</b></h4>
                    </li>
                </ul>

如何将此模型与数据一起发送到CONTROLLER 2作为参数??

请提供建议和任何可行的方法。

2 个答案:

答案 0 :(得分:2)

您需要

  • 将视图内容包含在发布到Controller2的表单中。
  • 向表单添加内容(文本框,隐藏字段等)以包含模型属性
  • 添加提交按钮

我想知道你为什么要这样做。将数据发布到另一个控制器而不是同一控制器上的操作似乎很奇怪。

@using (Html.BeginForm("ActionName", "Controller2")
{
     @Html.HiddenFor(model => model.FirstName)
     ...
}

答案 1 :(得分:-1)

您对所使用的技术的理解非常差。如果你想使用asp.net MVC,请研究一些HTML和HTTP的基础知识 - 你真的不能这样做。

将模型从视图发送到控制器是没有办法的(好的,没有理智的方式)。视图正在呈现HTML。如果您希望控制器接收一些数据,那就是另一个请求 - 您提交表单时浏览器将创建该请求。此表单应包含您希望控制器接收的所有数据,因此您必须在处理先前的请求时执行此操作(如您在示例中所做的那样 - 但不是HTML标头元素,而是表单元素。