repeate 绑定展开的第三只小板凳
設(shè)計(jì):有“標(biāo)題”和“內(nèi)容”兩項(xiàng),第一次進(jìn)入,不顯示“內(nèi)容”。然后點(diǎn)擊“標(biāo)題”可以展開(kāi)和收縮“內(nèi)容”。
第一只:
.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有兩個(gè)函數(shù):
??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;
????//幫函數(shù)的只能一個(gè)地方綁,注意拉!
???}
???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有一個(gè)函數(shù):
??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有一個(gè)函數(shù):
??private void RecentPosts_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)
??{
????????? ?e.Item.Controls[7].Visible = !e.Item.Controls[7].Visible;
??}
看看,赫赫,repeated的展開(kāi)可以如此簡(jiǎn)單!
但我現(xiàn)在碰到一個(gè)問(wèn)題,repeated的展開(kāi)后,不能自動(dòng)定位到展開(kāi)處,這也是服務(wù)器端刷新的老問(wèn)題了,可小弟我想了幾種辦法,用錨、websevice感覺(jué)都不好,請(qǐng)教有經(jīng)驗(yàn)者,這是怎么做的。
轉(zhuǎn)載于:https://www.cnblogs.com/sadier/archive/2004/08/19/34862.html
總結(jié)
以上是生活随笔為你收集整理的repeate 绑定展开的第三只小板凳的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。