MVC学习笔记之数据传递

MVC中的传递数据方法

1、使用ViewData。新建一个MvcApplication1,然后在HomoController中的Index动作方法中写一个 ViewData,

1 ViewData["Message"="好好学习,天天向上"

 

 然后在Index视图页写上:

1 <%= Html.Encode(ViewData["Message"]) %>

 

 这样就把控制器中的数据传到了视图页上。当然ViewData也可以传递List,在Index动作方法中写一个List,

2              List < string >  str  =   new  List < string > ();
3              str.Add( " cnblogs " );
4              str.Add( " 博客园 " );
5              str.Add( " MVC " );
6 
7              ViewData[ " Message " =  str;

 

 然后Index视图页也要改一下,

1       < ul >
2           <% foreach  ( string  s  in  ViewData[ " Message " as  List < string > )
3            {  %>
4           < li >
5               <%= %></ li >
6           <% %>
7       </ ul >

 

 这样就把List从控制器传到了视图。

2、 用TempData楚地数据,TempData的用法和ViewData几乎完全一样。同样是在控制器的动作方法中写一个TempData,

1              TempData[ " Message " =   " 好好学习,天天向上 " ;

 

然后同样是在视图中写

1       <%= Html.Encode(TempData[ " Message " ])  %>

 

就OK啦。需注意的是ViewData和TempData是两个不同的数据类型,ViewData只能在一个动作方法中设置,在相关的视图中读取,只对当前的试图页面有效,而TempData可以在多个动作方法中设置、读取。 

 

表单数据绑定

MVC可以用Request.Form或者FormCollection 读取表单数据,具体方法如下:首先要在视图页写一个BeginForm的扩展方法,可以写成

<%=Html. BeginForm("Register","Home")%>,其中的第一个参数表示动作方法名,第二个是控制器名,然后还要写一个FormEnd:<%Html.EndForm();%>。还有一种写法是<%using (Html.BeginForm("Register","Home"))%>,然后写几个TextBox,

     < div >
      用户名:
<%= Html.TextBox( " txtName " %>< br  />
      邮箱:
<%= Html.TextBox( " txtEmail " %>
    
</ div >

 

接下来在控制器的动作方法中用Request.Form获取:

             string  Name = Request.Form[ " txtName " ];
            
string  Email = Request.Form[ " txtEmail " ];

            ViewData[
" msg " =   " 用户名: "   +  Name  +   " 邮箱: "   +  Email;

 

 同时也可以用FormCollection获取,用FormCollection获取要在动作方法中传入一个FormCollection类型的参数,

ExpandedBlockStart.gif 代码
         public  ActionResult Practise(FormCollection myForm)
        {
            
string  Name = myForm[ " txtName " ];
            
string  Email  =  myForm[ " txtEmail " ];

            ViewData[
" msg " =   " 用户名: "   +  Name  +   " 邮箱: "   +  Email;
            
return  View();
        }

 

 同样可以获取到表单数据对象。

 

 

 

 

转载于:https://www.cnblogs.com/ldm1989/archive/2010/10/14/1851656.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值