您的位置:首页 > 编程学习 > ASP.NET > 正文

如何将数据从View传递到控制器

更多 时间:2014-8-25 类别:编程学习 浏览量:3218

如何将数据从View传递到控制器

如何将数据从View传递到控制器

在ASP.NET MVC框架中,将视图中的数据传递到控制器中,主要通过发送表单实现的.具体使用中,主要使用以下三种方法.
 

1、通过Request.Form读取表单数据
2、通过FormCollection读取表单数据
3、直接读取表单数据对象

 

一、通过Request.Form读取表单数据

1、表单的代码如下

  •  
  • HTML 代码   复制
  •  <fieldset>
            <p>
                <%using (Html.BeginForm("RequestForm", "Home"))
                  {%>
                FirstName:<%=Html.TextBox("FirstName")%><br />
                LastName:<%=Html.TextBox("LastName")%>
                <input type="submit" name="提交" value="RequestForm" /><br />
                <%} %>
            </p>
        </fieldset>
    
    		
  •  

    2、在HomeController中定义如下方法,用于接收View传来的数据

  •  
  • C# 代码   复制
  • public ActionResult RequestForm()
            {
                Person person = new Person();
                person.FirstName = Request.Form["FirstName"];
                person.LastName = Request.Form["LastName"];
                return View(person);
            }
    
    		
  •  

    3、说明

    (1)、Html.BeginForm("RequestForm", "Home")是MVC中的FormExtensions类中的扩展方法.第一个参数指明接收表单的Action,第二个参数指明接受表单的Controller.

    (2)、这条语句指明了Home Controller中的Action RequestForm接受了刚才传递来的数据.发送的表单数据两个文本框:
    "FirstName"和"LastName"。
    

     

    二、通过FormCollection读取表单数据

    ASP.NET MVC中的FormCollection对象是提交的Form中所有对象的集合.

    例如

  •  
  • C# 代码   复制
  •        public ActionResult FormCollection(FormCollection formCollection)
           {
               Person person = new Person();
               person.FirstName = formCollection["FirstName"];
               person.LastName = formCollection["LastName"];
               return View(person);
           }
    
    			
  •  

    说明:FormCollection()方法中传入了FormCollection类型的参数,该参数会自动绑定表单中的所有数据.

     

    三、直接读取表单数据对象

    1、表单如下

  •  
  • HTML 代码   复制
  • <fieldset>
    <p>
    <%using (Html.BeginForm("Person", "Home"))
    { %>
    FirstName:<%=Html.TextBox("FirstName")%><br />
    LastName:<%=Html.TextBox("LastName")%><br />
    <input type="submit" name="Submit" value="Person" /><br />
    <%} %>
    </p>
    </fieldset>
    
    		
  • 处理该表单的Action是HomeController中的Person方法.发送两个文本框中的数据.

     

    2、程序的运行结果如下

     

    标签:控制器
    您可能感兴趣