repeate 绑定展开的第三只小板凳
設計:有“標題”和“內容”兩項,第一次進入,不顯示“內容”。然后點擊“標題”可以展開和收縮“內容”。
第一只:
.aspx 文件 
?????<ItemTemplate>
???????<span class="date">
????????<asp:Button ID="BtnContent" Font-Bold='<%# GetBoldFlag(DataBinder.Eval(((RepeaterItem)Container).DataItem,"ID").ToString())%>' Runat = "server" Height=16 BackColor=LightCyan CssClass="HomeEntryTitle" Text = '<%# DataBinder.Eval(((RepeaterItem)Container).DataItem,"Title") %>' BorderStyle=none CommandArgument='<%# DataBinder.Eval(((RepeaterItem)Container).DataItem,"EntryName").ToString()%>'>
????????</asp:Button>
???????</span>
??????<asp:Literal runat = "server" Visible= '<%# isVial(DataBinder.Eval(((RepeaterItem)Container).DataItem,"EntryName").ToString())%>' Text ='<%# DataBinder.Eval(((RepeaterItem)Container).DataItem,"Description").ToString() %>' ID='DescriLit'>
??????</asp:Literal>
?????</ItemTemplate>
????</asp:repeater>
.cs有兩個函數:
??private void RecentPosts_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)
??{
???entryName = e.CommandArgument.ToString().Trim();
???string A_entryName = ViewState["entryName"] as string;
???if (A_entryName == null || A_entryName != entryName)
???{
????ViewState["entryName"] = entryName;
????//幫函數的只能一個地方綁,注意拉!
???}
???else
???{
??????? ViewState["entryName"] = "ToClose";
???}
???BindContextPost();
??}
??protected bool isVial(string Arg)
??{
???if(ViewState["entryName"] != null)
???{
????entryName = ViewState["entryName"].ToString();
????if(Arg.Trim() == entryName)
????{
?????return true;
????}?
????
???}
???return false;
??}
第二只:
.aspx 文件
??????<asp:Literal runat = "server" Visible= false? Text ='<%# DataBinder.Eval(((RepeaterItem)Container).DataItem,"Description").ToString() %>' ID='DescriLit'>
.cs有一個函數:
??private void RecentPosts_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)
??{
???bool open = (ViewState["IsOpen"] == null)?false:(bool)ViewState["IsOpen"];
????
???e.Item.Controls[6].Visible = open;
???ViewState["IsOpen"] = !open;
??}
第三只:
.aspx 文件
??????<asp:Literal runat = "server" Visible= false? Text ='<%# DataBinder.Eval(((RepeaterItem)Container).DataItem,"Description").ToString() %>' ID='DescriLit'>
.cs有一個函數:
??private void RecentPosts_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)
??{
????????? ?e.Item.Controls[7].Visible = !e.Item.Controls[7].Visible;
??}
看看,赫赫,repeated的展開可以如此簡單!
但我現在碰到一個問題,repeated的展開后,不能自動定位到展開處,這也是服務器端刷新的老問題了,可小弟我想了幾種辦法,用錨、websevice感覺都不好,請教有經驗者,這是怎么做的。
轉載于:https://www.cnblogs.com/sadier/archive/2004/08/19/34862.html
總結
以上是生活随笔為你收集整理的repeate 绑定展开的第三只小板凳的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        