解析Gridview和DataList中如何截取標(biāo)題字符長度_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:淺談asp.net程序優(yōu)化技巧
      1.數(shù)據(jù)庫訪問性能優(yōu)化 數(shù)據(jù)庫的連接和關(guān)閉 訪問數(shù)據(jù)庫資源需要?jiǎng)?chuàng)建連接、打開連接和關(guān)閉連接幾個(gè)操作。這些過程需要多次與數(shù)據(jù)庫交換信息以通過身份驗(yàn)證,比較耗費(fèi)服務(wù)器資源。ASP.NET中提供了連接池(ConnectionPool)改善打開和關(guān)閉數(shù)據(jù)庫對性能的影響。系

      代碼如下:
      <asp:HyperLink ID="hltitle" runat="server" Width="340px" Text=’<%# Eval("NewsName").ToString().Length>25?Eval("NewsName").ToString().Substring(0,25)+"...":Eval("NewsName") %>’  NavigateUrl=’<%#"NewsShow2.aspx?NewsID="+DataBinder.Eval(Container.DataItem,"NewsID")%>’>HyperLink</asp:HyperLink>  

      注意那個(gè)三元運(yùn)算符 “?:”意思就是如果長度大于25,就截取前25個(gè),如果小于或等于25就全部取出。
      如果不加這個(gè)運(yùn)算符的話,假如字符長度沒有所想要截取的長度那么長,就會(huì)報(bào)錯(cuò)。
      在Gridview中要注意,要插入的項(xiàng)是TemplateField才能做截取,不能是單純的HyperLink。
      <asp:TemplateField HeaderText="新聞標(biāo)題">   
          <ItemTemplate>   
             
              <%# (Eval("NewsName").ToString().Length>8?Eval("NewsName").ToString().Substring(0,8):Eval("NewsName").ToString()) + "…" %>                   
             
          </ItemTemplate>   
      </asp:TemplateField>  

      還有一個(gè)必須要注意的,在網(wǎng)上,我注意到很多人都寫成了ToString().SubString(0,8)或者Tostring().Substring()之類的代碼,要注意C#的大小寫敏感,如果函數(shù)寫錯(cuò)了,就會(huì)在運(yùn)行時(shí)報(bào)錯(cuò)。

      分享:如何在GridView數(shù)據(jù)源為空時(shí)也顯示表頭
      首先,需要GridView的AutoGenerateColumn屬性為false。 進(jìn)行正常的綁定后,添加頁面事件 this.PreRender+=OnPagePreRender; 這個(gè)事件只要比綁定晚就可以,不必非得是PreRender。 然后判斷如果數(shù)據(jù)源無數(shù)據(jù),就執(zhí)行以下代碼 if (gridView.DataSource is DataTa

      來源:模板無憂//所屬分類:.Net教程/更新時(shí)間:2010-01-30
      相關(guān).Net教程