在DataList和Gridview中截取HyperLink所取的字符长度

<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>  

 

注意那个三元运算符 “?:”意思就是如果长度大于25,就截取前25个,如果小于或等于25就全部取出。

如果不加这个运算符的话,假如字符长度没有所想要截取的长度那么长,就会报错。

 

在Gridview中要注意,要插入的项是TemplateField才能做截取,不能是单纯的HyperLink。

<asp:TemplateField HeaderText="新闻标题"> <ItemTemplate> <%# (Eval("NewsName").ToString().Length>8?Eval("NewsName").ToString().Substring(0,8):Eval("NewsName").ToString()) + "…" %> </ItemTemplate> </asp:TemplateField>

 

还有一个必须要注意的,在网上,我注意到很多人都写成了ToString().SubString(0,8)或者Tostring().Substring()之类的代码,要注意C#的大小写敏感,如果函数写错了,就会在运行时报错。

你可能感兴趣的:(server,C#,asp,Hyperlink)