分配鏈接按鈕我有一些文本從數據庫,這我在下面的形式結合到DataList ItemTemplate
被獲取文本長度:限制從DB
<asp:LinkButton runat="server" Text='<%#Eval("url")%>' />
的文本被取出從數據庫可能會很長,我想在上面的eval
作業中限制它(比如說,最多50個字符)。
這怎麼能在這裏完成? 其次,我怎麼指定LinkButton
使這裏的鏈接,點擊它,它去到指定的鏈接應該在新窗口中taget=_blank
分配鏈接按鈕我有一些文本從數據庫,這我在下面的形式結合到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
旨在發起回發。您可以改爲使用錨標籤。