CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

怎么控制模板(Repeater)中的字数?

楼主dog487(肥肥狗)2006-07-03 12:10:20 在 .NET技术 / ASP.NET 提问

用模板绑定了数据,想控制字数在4个以内,如果大于4个字则多余的字显示成"...",若小于4个字则全部显示.  
   
  问题点数:20、回复次数:6Top

1 楼zhangxiaopin(zxp)回复于 2006-07-03 12:24:50 得分 20

///   <summary>  
          ///   字符拆分处理  
          ///   </summary>  
          ///   <param   name="strTemp">数据源</param>  
          ///   <param   name="intLen">拆取的长度</param>  
          ///   <param   name="AddPoint">是否加在后面加"...",为true则添加,否则不添加</param>  
          ///   <returns></returns>  
          public   string   SubstringLength(string   strTemp,int   intLen,   bool   AddPoint)  
          {  
                  string   strApp   =   "";  
   
                  int   strLength   =   System.Text.Encoding.Default.GetBytes(strTemp).Length;  
   
                  if   (strLength   >   intLen)  
                  {  
                          strApp   =   strTemp.Substring(0,   intLen);  
                          if   (AddPoint   ==   true)   strApp   +=   "...";  
                  }  
                  else  
                  {  
                          strApp   =   strTemp.ToString();  
                  }  
   
                  //****返回重新构造的字符  
                  return   strApp;  
          }  
   
  //****调用函数  
  <%#SubstringLength(DataBinder.Eval(Container.DataItem,"Context").ToString(),4,true)%>  
   
  //****第二种方法用SQL  
  SELECT   *,CASE   WHEN   LEN(CONTEXT)>4   THEN   SUBSTRING(CONTEXT,0,4)+'...'   ELSE   CONTEXT   END   AS   CONTEXTNAME   FROM   TB_INFOTop

2 楼dog487(肥肥狗)回复于 2006-07-03 12:49:36 得分 0

是在ASP.NET中写这个函数吗?  
  有在HTML绑定的时候做判断的吗?Top

3 楼dog487(肥肥狗)回复于 2006-07-03 12:56:03 得分 0

我给您发留言了  
  你看一下Top

4 楼lianzy(蓝剑)回复于 2006-07-03 13:07:01 得分 0

我记得好像css2.0里有这个功能Top

5 楼lianzy(蓝剑)回复于 2006-07-03 13:13:02 得分 0

你参考一下下面的代码吧  
   
  <html   xmlns:rdl>  
  <head>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <title>Rainer's   Handbook</title>  
  <style>  
  body{margin:0px;padding:12px;background:#FFFFFF;overflow:auto;}  
  body,table,input,select,textarea,a{font-family:verdana,tahoma,arial;font-size:11px;color:#000000;word-break:break-all;}  
  table,img{border:0px;}  
  a{text-decoration:none;color:#003399;}  
  a:hover{color:#000000;text-decoration:underline;}  
  #id_div3{padding-top:8px;border-top:1px   solid   #000000;line-height:15px;}  
  #id_span3{font-size:10px;font-family:tahoma;}  
  </style>  
  <style>  
  #idDIV{width:100%;height:90px;background-color:#87CEEB;padding:8px;overflow:hidden;   text-overflow:ellipsis;white-space:nowrap;   }  
  #idCodeDiv{width:100%;padding:4px;font-family:verdana,tahoma;margin:12px   0px   0px   0px;background-color:#EEEEEE;font-weight:bold;}  
  </style>  
   
  <script>  
  function   rdl_change(e){  
  var   oCodeDiv=document.all("idCodeDiv");  
  var   oDiv=document.all("idDiv");  
  with   (document.all("idSel1"))   var   sValue1=options[selectedIndex].value;  
  with   (document.all("idSel2"))   var   sValue2=options[selectedIndex].value;  
  with   (oDiv.style)   {  
  overflow=sValue1;textOverflow=sValue2;  
  }  
  oCodeDiv.innerText="overflow   :   "+sValue1+"\r\n"+"text-overflow   :   "+sValue2+"   ;";  
  }  
  </script>  
   
  </head>  
  <body>  
  <div   id=idDIV>请您从下面的选择框中选择这段文字的相应属性的值。看一看会发生什么,然后您就会明白他们的意义。</div>  
  <br>  
  <table><tr><td>  
  <select   id="idSel1"   onchange="rdl_change();">  
  <option   value="hidden">---overflow---  
  <option   value="hidden">hidden  
  <option   value="visible">visible  
  </select>  
  </td><td>  
  <select   id="idSel2"   onchange="rdl_change();">  
  <option   value="clip">---text-overflow---  
  <option   value="clip">clip  
  <option   value="ellipsis"   selected>ellipsis  
  </select>  
  </td></tr></table>  
  <div   id=idCodeDiv>overflow   :   ellipsis   ;<br>text-overflow   :   hidden   ;</div>  
   
  <br>&nbsp;<br>&nbsp;<br>  
  <div   id=id_div3>苏昱作品·版权所有<br><span   id=id_span3>&copy;2002   Rainer   Su   .   All   rights   reserved   .</span></div>  
  </body>  
  </html>Top

6 楼zhangxiaopin(zxp)回复于 2006-07-03 13:29:36 得分 0

Re:弹出错误“SubstringLength”方法没有采用“1”个参数的重载  
  因为绑定的是一个字段,函数中的参数为三个.....  
   
   
   
  //*****将下面的函数写在后台,然后在前台调用即可.  
   
  ///   <summary>  
          ///   字符拆分处理  
          ///   </summary>  
          ///   <param   name="strTemp">数据源</param>  
          ///   <param   name="intLen">拆取的长度</param>  
          ///   <param   name="AddPoint">是否加在后面加"...",为true则添加,否则不添加</param>  
          ///   <returns></returns>  
          public   string   SubstringLength(string   strTemp,int   intLen,   bool   AddPoint)  
          {  
                  string   strApp   =   "";  
   
                  int   strLength   =   System.Text.Encoding.Default.GetBytes(strTemp).Length;  
   
                  if   (strLength   >   intLen)  
                  {  
                          strApp   =   strTemp.Substring(0,   intLen);  
                          if   (AddPoint   ==   true)   strApp   +=   "...";  
                  }  
                  else  
                  {  
                          strApp   =   strTemp.ToString();  
                  }  
   
                  //****返回重新构造的字符  
                  return   strApp;  
          }  
   
   
  //****例子  
   
    <asp:Repeater   ID="RepList"   runat="server">  
                                  <ItemTemplate>  
                                          <table   border="0"   cellpadding="0"   cellspacing="0">  
                                                  <tr>  
                                                          <td>  
                                                                  企业名称:</td>  
                                                          <td>  
                                                                  <!--调用后台函数   -->  
                                                                  <%#SubstringLength(DataBinder.Eval(Container.DataItem,   "CopationName").ToString(),4,true)%>  
                                                          </td>  
                                                  </tr>  
                                                  <tr>  
                                                          <td   colspan="2">  
                                                                  <asp:Repeater   ID="ChileReption"   runat="server"   DataSource='<%#((DataRowView)Container.DataItem).Row.GetChildRows("myparent")%>'>  
                                                                          <ItemTemplate>  
                                                                                  <table   border="0"   cellpadding="0"   cellspacing="0">  
                                                                                          <tr>  
                                                                                                  <td>  
                                                                                                          产口名称:</td>  
                                                                                                  <td>  
                                                                                                          <%#DataBinder.Eval(Container.DataItem,"[\"ProductName\"]")%>  
                                                                                                  </td>  
                                                                                                  <td>  
                                                                                                          单价:</td>  
                                                                                                  <td>  
                                                                                                          <%#DataBinder.Eval(Container.DataItem,"[\"Proice\"]","{0:c}")%>  
                                                                                                  </td>  
                                                                                          </tr>  
                                                                                  </table>  
                                                                          </ItemTemplate>  
                                                                  </asp:Repeater>  
                                                          </td>  
                                                  </tr>  
                                          </table>  
                                  </ItemTemplate>  
                          </asp:Repeater>  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:dog487
  • zhangxiaopin

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo