限制从DB

问题描述:

分配链接按钮我有一些文本从数据库,这我在下面的形式结合到DataList ItemTemplate被获取文本长度:限制从DB

<asp:LinkButton runat="server" Text='<%#Eval("url")%>' />

的文本被取出从数据库可能会很长,我想在上面的eval作业中限制它(比如说,最多50个字符)。

这怎么能在这里完成? 其次,我怎么指定LinkButton使这里的链接,点击它,它去到指定的链接应该在新窗口中taget=_blank

打开您可以使用a标签直接

<a href='<%#Eval("url")%>' taget=_blank> <%# BindText(Eval("url"))%></a> 

代码隐藏:

public string BindText(obj url) 
{ 
if(url!=null) {return (url.ToString().length > 50) ? url.ToString().Substring(0,50) + '...': url.ToString() ;} 
return ""; 
} 

一个简单的方法来处理,这将是要创建String类型,其简单地从它的结束条X个字符的“截断”扩展名。

关于“target = _blank” - 您应该可以通过LinkBut​​ton的Attributes属性完成此操作。

根据目标浏览器的不同,使用CSS text-overflow是在客户端而不是服务器上执行此操作的最佳方式(最大化空间;只有必须截断的文本将被截断,并且还会考虑简单的标点符号规则)。

https://developer.mozilla.org/en/CSS/text-overflow

This blog post示出了体面的解决方案中,它试图空白,其中注入的省略号(而非盲截断)。

为了设置一个LinkBut​​ton的目标...

<asp:LinkButton runat="server" target="_blank"> 

ASP.Net(通常)忽略的属性,它不承认,只是它们呈现给客户逐字。但是,这不会实际工作,因为LinkButton旨在发起回发。您可以改为使用锚标签。