首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于repeater中的DataSourceID和OnItemDataBound解决思路

2012-06-17 
关于repeater中的DataSourceID和OnItemDataBound前台代码:HTML codetable classProTab marginT border

关于repeater中的DataSourceID和OnItemDataBound
前台代码:

HTML code
<table class="ProTab marginT" border="0" cellspacing="0" cellpadding="0" width="245px"><tbody>  <tr>    <th>&nbsp;品名</th>    <th>价格</th>    <th>发布日期</th>    </tr>  <asp:Repeater ID="repPro" runat="server" OnItemDataBound="repPro_ItemDataBind">   <ItemTemplate>  <tr>    <td style="height: 24px" ><a title="<%# Eval("Name") %>" href="#">&nbsp;<%# Eval("Name") %></a></td><!--需要控制权限是否显示--><div id="guoji" runat="server" visible="true">    <td style="height: 24px" >&nbsp;<%# Eval("price") %></td></div><!--需要控制权限是否显示-->    <td style="height: 24px" >&nbsp;<%# Eval("Addtime") %></td>    </ItemTemplate></asp:Repeater> </tbody></table>


后台:

C# code
        public void Rep3()        {           string sql = "select top 15 * from Products order by classid desc";           SqlDataAdapter da = new SqlDataAdapter(sql, conn);           DataSet ds = new DataSet();           da.Fill(ds, "a");           this.repPro.DataSource = ds.Tables["a"].DefaultView;            this.repPro.DataBind();           //绑定输出数据        }   protected void repPro_ItemDataBind(object sender, RepeaterItemEventArgs e)        {            if (Session["UserName"] != null)            {                 if (Session["UserName"].ToString() == "")            {                e.Item.FindControl("guoji").Visible = false;                 }            }         }


我想在前台,去控制那个<%# Eval("price") %>是否有权限查看。 可是好像不灵。

[解决办法]
protected void repPro_ItemDataBind(object sender, RepeaterItemEventArgs e)
 {

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (Session["UserName"] != null)

if (Session["UserName"].ToString() == "")
{
Panel pan= (Panel )e.Item.FindControl("guoji");// 用panel 别用div
pan.Visible = false;

}



}


热点排行