2012-03-05 69 views
-1

分配鏈接按鈕我有一些文本從數據庫,這我在下面的形式結合到DataList ItemTemplate被獲取文本長度:限制從DB

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

的文本被取出從數據庫可能會很長,我想在上面的eval作業中限制它(比如說,最多50個字符)。

這怎麼能在這裏完成? 其次,我怎麼指定LinkButton使這裏的鏈接,點擊它,它去到指定的鏈接應該在新窗口中taget=_blank

回答

0

打開您可以使用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 ""; 
} 
0

一個簡單的方法來處理,這將是要創建String類型,其簡單地從它的結束條X個字符的「截斷」擴展名。

關於「target = _blank」 - 您應該可以通過LinkBut​​ton的Attributes屬性完成此操作。

0

根據目標瀏覽器的不同,使用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旨在發起回發。您可以改爲使用錨標籤。