当前位置: 首页 > 编程语言 > C#

高效的方式绑定嵌套转发器3级深分享

时间:2023-04-10 13:24:02 C#

C#学习教程:绑定嵌套中继器3级深度的有效方法二级转发器SubSubCategories-绑定到3级转发器到目前为止,我已经通过使用转发器的itemdatabound事件并传递类别ID来实现数据绑定以过滤以下级别(例如:获取MainCategory1的所有子类别,获取MainCategory2的所有子类别).这当然会导致数据库访问很多,效率低下。有没有办法只执行3个查询:1.获取所有主要类别并绑定到顶级中继器,2.获取所有子类别并以某种方式绑定到二级中继器3.获取所有子子类别并绑定到三级中继器。如何在asp.netc#中实现这一点?为此,请按照下列步骤操作:首先将数据转换为DataTable,例如dataTableMainCategories,然后从dataTableMainCategories数据表中过滤SubSubCategories和SubSubCategories。最后,在ItemDataBound下方编写代码块,为SubSubCategories和SubSubCategoriesDataTable在导入筛选行之前添加所需的列。将所有主要类别填充到表中并绑定到MainCategory转发器(rptrMainCategories),并将所有子类别和子子类别填充到dataTableCategories数据表中。protectedvoidrptrMainCategories_ItemDataBound(objectsender,RepeaterItemEventArgse){if(e.Item.ItemType==ListItemType.Item){intsubCategoryID=5;//传递要过滤的子类别IDRepeaterrptrSubCategories=(Repeater)e.Item.FindControl("rptrSubCategories");数据表dtSubCategory=newDataTable();dtSubCategory.Columns.Add();//将您的列添加为SubCatagoryDataRow[]dataRows=dataTableCategories.Select("SubCategoryID="+subCategoryID+"");foreach(DataRowdataRowindataRows){dtSubCategory.ImportRow(dataRow);}rptrSubCategories.DataSource=dtSubCategory;rptrSubCategories.DataBind();}}protectedvoidrptrSubCategories_ItemDataBound(objectsender,RepeaterItemEventArgse){if(e.Item.ItemType==ListItemType.Item){intsubSubCategoryID=55;//传递要过滤的子类别IDRepeaterrptrSubSubCategory=(Repeater)e.Item.FindControl("rptrSubSubCategory");数据表dtSubSubCategory=新数据表();dtSubSubCategory.Columns.Add();//将您的列添加为SubCategoryDataRow[]dataRows=dataTableCategories.Select("SubSubCategoryID="+subSubCategoryID+"");foreach(DataRowdataRowindataRows){dtSubSubCategory.ImportRow(dataRow);}rptrSubSubCategory.DataSource=dtSubSubCategory;rptrSubSubCategory.DataBind();}}UPDATE如果您使用类型化(自定义类型)数据,您可以通过以下方式选择数据://PopulateallmaincategoriespublicListMainCategories{get;放;}//填充所有子类和子类publicListSubCategories{get;放;}在事件rptrMainCategories_ItemDataBound中编写代码并绑定到转发器:ListsubCategory=SubCategories.Where(c=>c.SubCategoryId=yourSubCategoryID);rptrSubCategories.DataSource=subCategory;rptrSubCategories.DataBind();在事件rptrSubCategories_ItemDataBound中写代码绑定forwarder:以上是C#学习教程:高效绑定嵌套forwarder3级深度分享所有内容的方法,如果对大家有用需要了解更多C#学习教程,希望大家多多关注——ListsubSubCategory=SubCategories.Where(c=>c.SubSubCategoryId=yourSubSubCategoryID);rptrSubSubCategory.DataSource=subSubCategory;rptrSubSubCategory.DataBind();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: