限制从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” - 您应该可以通过LinkButton的Attributes属性完成此操作。
答
根据目标浏览器的不同,使用CSS text-overflow
是在客户端而不是服务器上执行此操作的最佳方式(最大化空间;只有必须截断的文本将被截断,并且还会考虑简单的标点符号规则)。
https://developer.mozilla.org/en/CSS/text-overflow
This blog post示出了体面的解决方案中,它试图空白,其中注入的省略号(而非盲截断)。
为了设置一个LinkButton的目标...
<asp:LinkButton runat="server" target="_blank">
ASP.Net(通常)忽略的属性,它不承认,只是它们呈现给客户逐字。但是,这不会实际工作,因为LinkButton
旨在发起回发。您可以改为使用锚标签。