sadier

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  50 随笔 :: 274 文章 :: 276 评论 :: 61万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
原理:用repeater控件,把所有内容都传递到客户端,设置style=display:none,然后通过操作按钮控制客户端脚本执行。


 <HEAD>
 ...
  <script language=javascript>
  function ShowAndHide(ctl)
  {
       var postid = ctl.btnstatus;
       var obj = document.getElementById("div"+postid);
       if (obj != null)
       {
            if (obj.style.display=="")
            {
                 obj.style.display = "none";
            }
            else
            {
                 obj.style.display = "";
            }
       }
  }
  </script>
 </HEAD>



    <asp:repeater id="RecentPosts" runat="server">
         <ItemTemplate>
         <input  type=Button ID="BtnContent" Runat = "server" onclick="javascript:ShowAndHide(this);" btnstatus='<%# DataBinder.Eval(((RepeaterItem)Container).DataItem,"PostID")%>' value = '<%# DataBinder.Eval(((RepeaterItem)Container).DataItem,"Title") %>' >

                <asp:Literal runat = "server"  Text ='<%# "<div id=div"+DataBinder.Eval(((RepeaterItem)Container).DataItem,"PostID").ToString() +" style=display:none >" + DataBinder.Eval(((RepeaterItem)Container).DataItem,"Text").ToString() + "</div>" %>' ID='DescriLit1'>
              </asp:Literal>
     </ItemTemplate>
    </asp:repeater>

这里借用了一个Button 本没有的一个属性btnstatus,因为试了一下ShowAndHide('<%# DataBinder.Eval(((RepeaterItem)Container).DataItem,"PostID")%>')说,服务器表识错误,就随便加了一个属性了。


posted on   毛小华  阅读(2428)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示