关于重用PartialView以及View层次
2012-03-06 11:14
169 查看
关于重用PartialView以及View层次
分类: Nop Commerce2012-02-2423:12 8人阅读 评论(0) 收藏 举报
自带数据控件@html.Action/PartialView(model)/@html.Partial
在默认访问页面中有如下代码:利用ChildActionOnly以及PartialView显示类似自带数据用户控件的作用
[html] view
plaincopy
<div class="clear">
</div>
@Html.Action("HomePageNews","News")
<div class="clear">
</div>
@Html.Action("HomePagePolls","Poll")
- - - - --
[ChildActionOnly]
public ActionResultHomePagePolls()
{
var polls =_pollService.GetPolls(_workContext.WorkingLanguage.Id, true,0, int.MaxValue);
// IPagedList<Poll>GetPolls(int languageId, bool loadShownOnHomePageOnly,
int pageIndex, int pageSize, boolshowHidden = false);
//只显示在Homepage,默认showHidden=false//
var model = polls.Select(x =>PreparePollModel(x)).ToList();
////内部的函数,处理Poll到PollModel的,把IpagedList<Poll>--IPagedList<PollModel>
protected PollModelPreparePollModel(Poll poll)
//
returnPartialView(model);- -- -- --- ---HomepagePolls对应HomepagePools.cshtml
}
parialView的render如下:
@model IList<PollModel>
@using Nop.Web.Framework;
@using Nop.Web.Models.Polls;
@if (Model.Count > 0)
{<div class="todays-poll-box">
<div class="todays-poll-box-block">
@foreach(var poll inModel)
{
@Html.Partial("_Poll", poll) //又继续使用了Control Template _Poll
}
</div>
</div>
}
_Pool.cshtml的内容,从中可以看到@Html.Partial(“_Poll”,poll)这个方式不需要Controller
Action的,适合最简的Control template展示。Html.Action("HomePageNews","News")是要经过Controller的。
@model PollModel
@using Nop.Web.Framework;
@using Nop.Web.Models.Polls;
<div class="poll-item">
<span class="poll-display-text">@Model.Name</span>
@if(Model.AlreadyVoted)
{ …
@Html.Raw(addToCartWarningsSb.ToString())è直接输出后台变量
@Html.Action("HomePageNews","News")->Actioni(HomepageNews)->View(Action对应的View)->Partialview(subdata)->partialview(withoutAction)-Partialview(without Action)。。。。
从逻辑假设来看,模版View可以无穷细化下去.
相关文章推荐
- 关于重用PartialView以及View层次
- 关于RecyclerView的一些使用见解以及使用过程中踩过的一些坑
- 关于ViewPager中添加各个Fragment以及设置其中的组件监听器方法
- GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考
- 关于android 端,人人网以及新浪网 webview 页面缓存问题
- 深入理解CUDA线程层次以及关于设置线程数的思考
- 关于透明状态栏的使用以及与软键盘冲突(导致SrollView不能滑动)的解决办法
- 关于自定义View的基础思路以及画布的解析
- GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考
- iphone开发之表格组件UITableView的使用(五)UITableView与UItableViewCell常见属性以及单元格重用
- 关于uitableview自定义cell与重用机制探究
- 关于tableView的cell距离下面间距38的出现原因以及解决
- android 关于 webview 控制其它view的显示 以及更改view数据失败的问题总结
- cell中button怎么得到对应cell的indexpath 以及关于UITableViewCellContentView的问题
- 关于recyclerview的横向布局的宽度以及item的点击事件的添加
- iOS 自己项目中的一些总结(tableview 避免重用以及多选状态下判断数组中的bool值是不是同一个状态以及自定义控件的原因)
- ios关于tableview重用机制的使用心得一
- 关于MFC中Document, Frame, View以及Document Template结构关系
- 几个关于TableView的Cell重用问题
- 【SAP HANA】关于SAP HANA中带层次结构的Analytic View创建、激活状况下在系统中生成对象的研究