asp.net中如何在后台获取前台的div标签或其他标签,然后根据后台参数值动态的设置标签的Visible属性,从而能动态控制某一区域的显示?
求高手指教、、、、

解决方案 »

  1.   

    前台div,增加一个id属性,并设置runat="server",然后后台设置即可<div id="IsShow" runat="server">
      //这里放其他内容
    </div>后台cs中控制if(条件)
    {
        IsShow.Visible = true;
    }
    else
    {
      IsShow.Visible = false;
    }
      

  2.   

    放在Repeater内部的话,你在Repeater的OnItemDataBound事件中先找到这个div,然后再利用上面的普通方法即可。建议将你的div换成asp:Panel
    <asp:Repeater ...>
       <ItemTemplate> 
            <asp:Panel ID="p" runat="server">        </asp:Panel>
            .....
       </ItemTemplate>
    </asp:Repeater>
    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        { 
              Panel pp = (Panel)e.Item.FindControl("p");
               DataRowView rowv = (DataRowView)e.Item.DataItem;
              if(rowv["IsShow"])
              {
                   pp.Visible = true;
              }
              else
              {
                   pp.Visible = false;
               }
        }
    }
      

  3.   

    还是在你代码基础上改吧
    <asp:Repeater ID="article_list" runat="server" OnItemDataBound="article_list_ItemDataBind">
      <HeaderTemplate>     
      </HeaderTemplate> 
      <ItemTemplate>
         <div id="Div1" class="ar_head" runat="server" >
           <span class="ar_title">
             <font  style="font-weight: bold;">标题:</font><%# DataBinder.Eval(Container.DataItem, "Title") %>
             </span>
          <span class="ar_quanwen">
              <a href='ProjectArticle.aspx?Id=<%# DataBinder.Eval(Container.DataItem,"Id") %>'>阅读全文</a>
            </span>
         </div>
         <div class ="ar_content" runat="server" id="textaaa" >
      &nbsp; &nbsp;&nbsp;<%#GetDec(Convert.ToString( DataBinder.Eval(Container.DataItem, "Text"))) %>
         </div>
         <div class="food" runat="server" >
      发表时间:<%# DataBinder.Eval(Container.DataItem, "AddDate")%> &nbsp;  
      <a href='ProjectArticle.aspx?Id=<%# DataBinder.Eval(Container.DataItem,"Id") %>'>评论</a>(<%#ReNumber(Convert.ToInt32(Eval("Id")))%>)
      &nbsp;浏览(<%# DataBinder.Eval(Container.DataItem, "Visitor")%>)
         </div>
      </ItemTemplate>
    </asp:Repeater>protected void article_list_ItemDataBind(object sender, RepeaterItemEventArgs e)

          if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
          {  
             DataRowView rowv = (DataRowView)e.Item.DataItem;
             if (rowv["Title"] != null) //判断某个字段,作为控制条件
             {
                e.Item.FindControl("Div1").Visible = true; //设置显示隐藏
             }
             else
             {
                e.Item.FindControl("Div1").Visible = false;//设置显示隐藏
             }
         }   
     }