Asp.net Mvc Framework 六 (更多的View传值及显示方式)

我们前面都使用RenderView("Index");这种方式来显示
RenderView的重载:
RenderView( string  viewName);
RenderView(
string  viewName,  object  viewData);
RenderView(
string  viewName,  string  masterName);
RenderView(
string  viewName,  string  masterName,  object  viewData);
我们常用的当然就是第一种
第二种 RenderView( string  viewName,  object  viewData);是在显示view时附加一个ViewData
如:
RenderView("Index"new
{
    name 
= "重典",
    sex 
= true
}
);
我们就可以在相应的View(即Index.aspx)中调用<%=ViewData["name"]%>来得到它的值

RenderView( string  viewName,  string  masterName);
则是除了Viewname之外还指定了母板页
如果程序写为
RenderView( " index " " layoutpage " );
则是显示index这个View , 但是母板页使用/Views/Shared/layoutpage.master

最后一个重载是前两者的结合,这里不多说了

更多的View传值方式
前面说了向VIew传值可以用ViewData或者是TempData
这里我们介绍ViewData传值的另一种的方式

与Models绑定
这是我们第一次介绍Models,其实Models就是一个数据模型,比如,用户,人,访问记录等
我们建立一个Person类
namespace  MvcApplication2.Models
{
    
public class Person
    
{
        
string _name;

        
public string Name {
            
get return _name; }
            
set { _name = value; }
        }

        
bool _sex;

        
public bool Sex {
            
get return _sex; }
            
set { _sex = value; }
        }

    }

}
类中有Name与Sex两个属性
我们仍然用Eice的Index这个Action来书写示例
首先我们实例化一个Person并将之传给View
            Person p  =   new  Person()
            
{
                Name 
= "邹健",
                Sex 
= true
            }
;
            RenderView(
" Index " , p);
接下来我们更改View中Eive/Index.aspx.cs
将它的更改如下
     public   partial   class  Index : ViewPage < Person >
    
{
    }
也就是原来Index是继承ViewPage的而现在继承了ViewPage<Person>这个泛型
接下来我们可以在Index.aspx中写类似以下语句了
<%= ViewData.Name  %>
<%= ViewData.Sex  %>
当然您也可以不写ViewPage<Person>而还像从前一样继承于ViewPage
那么访问方法就是过去的
<%= ViewData[ " Name " %>
<%= ViewData[ " Sex " %>
 
Asp.net Mvc Framework 系列
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值