2015-10-16 41 views
0

我試圖做一箇中繼,當你在已經登錄成爲會員是纔可見裏面面板,但問題是不會出現面板,我不知道是什麼我做錯了。直放站內部沒有顯示,爲什麼?

如果您有時間,請查看我的代碼,非常感謝。

FRONT:

<%@ Page Title="" Language="C#" MasterPageFile="~/Front/Front.master" AutoEventWireup="true" CodeFile="About.aspx.cs" Inherits="Front_About" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> 
</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 


<asp:Repeater ID="Repeater_About" runat="server" DataSourceID="SqlDataSource1" OnItemCommand="Repeater_About_ItemCommand"> 
    <ItemTemplate> 

     <asp:Panel ID="About_Edit" runat="server" Visible="false"> 
      <a href="#">LINK</a> 
     </asp:Panel> 

     <div id="about_box"> 
      <h1><%#Eval("about_title") %></h1> 
      <p><%#Eval("about_info") %></p> 
     </div> 

     <img id="about_img" src="../img/<%#Eval("about_picture")%>" /> 

    </ItemTemplate> 
</asp:Repeater> 

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [about]"></asp:SqlDataSource> 

</asp:Content> 

後臺代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class Front_About : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 

} 
protected void Repeater_About_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    if (Session["user_id"] != null) 
    { 
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
     { 
      Panel About_Edit = (Panel)e.Item.FindControl("About_Edit"); 
      About_Edit.Visible = true; 
     } 
    } 
} 
} 
+0

當您顯示/隱藏所有物品時,爲什麼在中繼器內部有面板?只需根據用戶的授權顯示/隱藏整個中繼器,並完全移除面板。 – Servy

+0

我只是想隱藏/顯示面板,以獲得額外的信息,稍後將會被評估。 因爲無論何時註銷,它仍會顯示一些非會員可以看到的細節。 我可以選擇做2個獨立的中繼器,但我只是認爲它會對1箇中繼器內的單個面板產生更多效應,但這比我預期的要複雜一些。 –

+0

什麼應該導致「OnItemCommand」觸發?我建議使用「OnItemDataBound」,而不是綁定數據時工作。 –

回答

1

問題就解決了,特別感謝@JBKing的提問題,謝謝!

題外話:由於這個問題已經解決,我該如何解決這個問題?