我有一个包含菜单栏的母版页。此菜单链接到具有许多选项的站点地图。我所做的就是为每个菜单项呈现图标。
protected void NavigationMenu_MenuItemDataBound(object sender, MenuEventArgs e)
{
SiteMapNode node = e.Item.DataItem as SiteMapNode;
if (!string.IsNullOrEmpty(node["imageUrl"]))
e.Item.ImageUrl = node["imageUrl"];
}
据我所知,在每个帖子上,这个事件都会发生。有没有办法可以加载一次而不必再次加载它们?
答案 0 :(得分:0)
处理程序在每个数据绑定事件上执行。此事件通常不会在每个帖子上执行,因为一旦在跟踪ViewState之后设置了图像URL,它就会进入控件的ViewState。
这意味着如果未明确调用控件(菜单)的DataBind(),则不会触发此事件。
这至少是其他数据绑定控件的作用。例如,网格不会在每个帖子上重新绑定,除非在分页/排序等时 - >>需要重建国家的行动。