您现在的位置:首页 --> JavaScript --> 动态加载用户控件到Template
动态加载用户控件到Template
浏览:1795次 出处信息
1. 创建一个用户控件。
以下是代码片段: namespace Northwind.WebSite.UserControls { public partial class CategoryDetail : System.Web.UI.UserControl { private Category category; public Category Category { set { category = value; } get { return category; } } protected void Page_Load(object sender, EventArgs e) { } protected void Page_PreRender(object sender, EventArgs e) { GridViewProducts.DataSource = category.Products; GridViewProducts.DataBind(); LableCategoryName.Text = category.CategoryName; LabelTotalPrice.Text = string.Format("Total price: {0}", category.Products.Sum(p => p.UnitPrice * (p.UnitsInStock + p.UnitsOnOrder))); } public void ExpandCollapsiblePanel() { CollapsiblePanelExtender1.Collapsed = false; } } } |
2. 实现ITemplate。
以下是代码片段: namespace Northwind.WebSite.TemplateControl { public class CategoryDetailTemplate : ITemplate { public void InstantiateIn(Control container) { CategoryDetail detail = (CategoryDetail)BuildManager. CreateInstanceFromVirtualPath("~/UserControls/CategoryDetail.ascx", typeof(CategoryDetail)); container.DataBinding += delegate(object sender, EventArgs e) { IDataItemContainer container1 = container as IDataItemContainer; detail.Category = (Category)container1.DataItem; if (container1.DataItemIndex == 0) { detail.ExpandCollapsiblePanel(); } }; container.Controls.Add(detail); } } } |
3. 动态加载。
以下是代码片段: namespace Northwind.WebSite { public partial class ProductsByCategory : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Repeater1.ItemTemplate = new CategoryDetailTemplate(); if (!IsPostBack) { var ds = Category.GetCategories(); Repeater1.DataSource = ds; Repeater1.DataBind(); } } } } |
建议继续学习:
- 图片轮播控件 Carousel Controls (阅读:2437)
- 为什么说基于ActiveX的“安全控件”一定是不安全的 (阅读:2332)
- 动态加载Innodb Plugin (阅读:2267)
- 禁用或启用一个ValidationGroup里的全部验证控件 (阅读:1858)
- Android注解式绑定控件,没你想象的那么难 (阅读:1370)
- jquery js 动态加载 js文件 (阅读:1333)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
后一篇:用于前端的模板引擎 >>
文章信息
- 作者:小寒 来源: 记事本
- 标签: 动态加载 控件
- 发布时间:2010-07-25 22:32:25
建议继续学习
近3天十大热文
- [16] 浏览器的工作原理:新式网络浏览器幕后揭秘
- [15] Go Reflect 性能
- [14] 界面设计速成
- [13] Spark性能优化——和shuffle搏斗
- [13] iOS可视化编程 Tips 之“无需代码设置
- [13] iOS下自己动手造无限循环图片轮播
- [12] iOS并发编程(Concurrency Pr
- [12] 最萌域名.cat背后的故事:加泰与西班牙政府
- [11] 基于HTTP缓存轻松实现客户端应用的离线支持
- [11] 内网穿透神器frp