新闻 57 整合新管页 无刷新 ajax ScriptManager 和 UpdatePanel 如何在repeater的行里面判断 ItemDataBound

ScriptManager 和 UpdatePanel

1:需要刷新的整个表格,放在  UpdatePanel 里面,这样当表格里面的内容更新的时候,表格就会自动刷新,而不是整个页面都刷新

2:使用UpdatePanel 则必须使用 ScriptManager 控件

使用方法是比较简单的

将要内容更新的地方,用UpdatePanel 包括起来  ,然后拖一个  ScriptManager 在 UpdatePanel前面即可,ScriptManager 不需要做任何修改。

下面是截图。

image

如图,我们是想删除这里的新闻,所以我们把这个表格 都放在一个  UpdatePanel 里面

image

然后拖入一个 UpdatePanel 控件进去,写一个 ContentTemplate

image

最后,在 UpdatePanel 控件前面 托一个 ScriptManager 控件  就可以了。

image

ItemDataBound

当管理元登陆,那么在新闻详细页的前台,会显示  评论的删除按钮,那么在repeater显示每条评论的时候,判断repeater的每行  管理员有没有登陆

需要用到   ItemDataBound  。我们在视图页面,选中repeater  ,点属性 ItemDateBound 双击

image

image

因为 repeater 有多种模板类型

image

我们要先判断 repeater 中要先 判断 是数据模板 还是头模板,并且数据模板里面 可以为(单数行和双数行)

if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem) 
 
//根据session的值来显示 删除按钮
   protected void repComment_ItemDataBound(object sender, RepeaterItemEventArgs e)
   {
       if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)     //如果是项模板,不论是单数行还是双数行
       {
           if (Session["admin"] != null && Session["admin"].ToString()=="joey")
           {
               //如果都符合了  就找到那个 itam中的 删除按钮 lbtnDelComm,将它的类型强制转换为 LinkButton 之后 ,将可见性 设置为 true
               ((LinkButton)e.Item.FindControl("lbtnDelComm")).Visible = true; 
 
 
           }
       }
   }

这里要注意  Item也有单数行和双数行之分, 如果我们只写 e.Item.ItemType==ListItemType.Item  那么出来就会是下面的这个样子

image

原文地址:https://www.cnblogs.com/iceicebaby/p/2359107.html