在Repeater中添加runat="server"的div,并控制其是否显示

来源:互联网 发布:消费金融 知乎 编辑:程序博客网 时间:2024/05/17 17:14

aspx页代码:

<asp:Repeater ID="rptBlog" runat="server" DataSourceID="objBlog" OnItemDataBound="rptBlog_ItemDataBind">                             <ItemTemplate>                                   <div id="rptBlogTitle">                                        <h3><a><%#eval_r("blogTitle") %></a></h3>                                        (<%#eval_r("blogDate") %>)                                    </div>                                    <div id="divBlogEditDel" runat="server" visible="false">                                       <a href="EditBlog.aspx">[编辑]</a>                                         &nbsp;                                       <a href="#">[删除]</a>                                    </div>                                    <div id="rptBlogTypeName">                                    </div>                                    <div id="rptBlogContent">                                        <%#eval_r("blogContent") %>                                    </div>                                    <div id="rptBlogFooter">                                    <a href="blogContent.aspx">查看全文</a>                                    </div>                                </ItemTemplate></asp:Repeater><asp:ObjectDataSource ID="objBlog" runat="server" TypeName="BlogGet" SelectMethod="GetBlog"/>

后台代码:

protected void rptBlog_ItemDataBind(object sender, RepeaterItemEventArgs e){        if (Session["UserName"] != null)        {            if (Session["UserName"].ToString() == this.bc_UserName.GetBlog_UserName())            {                e.Item.FindControl("divBlogEditDel").Visible = true;            }        }}

注意事项:
1。首先,不能将处理Repeater找子控件的代码放入Page_Load()的if(!Page.IsPostBack){}中,会找不到Item项,原理还没完全搞明白;
2。需要先判断Session[“UserName”] != null,否则,如果是匿名访问的话,会因为这一句:
Session[“UserName”].ToString()而提示“未将对象引用设置到对象实例”的错误。

感想:ASP.NET的数据绑定控件虽然用起来简单,但有时并不灵活,而且有些复杂的操作一般书上都不会介绍,如数据绑定控件的嵌套,内嵌控件的事件操作等,需要自己深入研究。

原文链接 http://blog.sina.com.cn/s/blog_541f0c810100mtgq.html

0 0
原创粉丝点击