会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
iwinds 爱编程
博客园
首页
新随笔
联系
订阅
管理
根据路由参数设置模板页(ASP.NET MVC)
每个用户都有自己的模板页,cnblogs也有这种功能,不知道是怎样做的- -
在MVC里实现,我在Controller里加了1个过滤。以下代码的意思是在“返回执行的时候”修改返回的模板页。
protected
override
void
OnResultExecuting(ResultExecutingContext filterContext)
{
ActionResult actionResult
=
filterContext.Result;
//
获取ActionResult
if
(
!
actionResult.GetType().Equals(
typeof
(ViewResult)))
//
这里用于过滤不是返回ViewResult的ActionResult
{
base
.OnResultExecuting(filterContext);
return
;
}
ViewResult viewResult
=
(ViewResult)actionResult;
string
id
=
filterContext.RouteData.Values[
"
xxx参数
"
].ToString().ToLower();
//
获取路由中的参数
ViewData[
"
xx
"
]
=
"
xxxx
"
;
//
模板页需要的数据还可以在这里赋
viewResult.MasterName
=
string
.Format(MASTER_PATH, id);
//
设置模板页
filterContext.Result
=
viewResult;
//
赋予新的ViewResult
base
.OnResultExecuting(filterContext);
}
Posted on
2009-05-21 19:45
ipinko
阅读(
643
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部