C# 如何使用jQuery和/或C截断数据列表内asp.net标签中的文本#
我希望在数据列表中的标签中裁剪一些文本C# 如何使用jQuery和/或C截断数据列表内asp.net标签中的文本#,c#,jquery,asp.net,label,datalist,C#,Jquery,Asp.net,Label,Datalist,我希望在数据列表中的标签中裁剪一些文本 <asp:Label runat="server" Text='<%# Eval("Description") %>'></asp:Label> 如果描述长度超过100个字符,并且出现“显示更多”链接(“不需要显示更少”),我希望我的描述被裁剪。单击“ShowMore”后,完整描述应显示在同一页面上(这是我希望使用jQuery的地方) 有人能帮我开始解决这个问题吗?我知道这是个老问题,但为了回答: public s
<asp:Label runat="server" Text='<%# Eval("Description") %>'></asp:Label>
如果描述长度超过100个字符,并且出现“显示更多”链接(“不需要显示更少”),我希望我的描述被裁剪。单击“ShowMore”后,完整描述应显示在同一页面上(这是我希望使用jQuery的地方)
有人能帮我开始解决这个问题吗?我知道这是个老问题,但为了回答:
public static class Extensions
{
/// <summary>
/// Truncate a value if it is a string.
/// </summary>
/// <param name="value">The value to check and truncate.</param>
/// <param name="length">The length to truncate to.</param>
/// <param name="appendEllipses">Append ellipses to the end of the value?</param>
/// <returns>A truncated string, if not a string the object value.</returns>
public static object Truncate(this object value, int length, bool appendEllipses = true)
{
// Are we dealing with a string value?
var result = value as string;
// Yes? truncate, otherwise pass through.
return result != null ? Truncate(result, length, appendEllipses) : value;
}
/// <summary>
/// Truncate a value if it is a string.
/// </summary>
/// <param name="value">The value to check and truncate.</param>
/// <param name="length">The length to truncate to.</param>
/// <param name="appendEllipses">Append elipses to the end of the value?</param>
/// <returns></returns>
public static string Truncate(this string value, int length, bool appendEllipses = true)
{
var result = value;
// Too Long?
if (value.Length > length)
{
// Truncate.
result = value.Substring(0, length);
// Add Ellipses, if needed.
if (appendEllipses) { result = result + " ..."; }
}
return result;
}
}
公共静态类扩展
{
///
///如果值是字符串,则截断该值。
///
///要检查和截断的值。
///要截断的长度。
///是否在值的末尾附加省略号?
///截断的字符串,如果不是字符串,则为对象值。
公共静态对象截断(此对象值,int-length,bool-appendellipes=true)
{
//我们在处理字符串值吗?
var结果=字符串形式的值;
//是吗?截断,否则通过。
返回结果!=null?截断(结果、长度、附录):值;
}
///
///如果值是字符串,则截断该值。
///
///要检查和截断的值。
///要截断的长度。
///是否将省略号附加到值的末尾?
///
公共静态字符串截断(此字符串值,int-length,bool-appendellipes=true)
{
var结果=价值;
//太久了?
如果(value.Length>Length)
{
//截断。
结果=值。子字符串(0,长度);
//如果需要,添加省略号。
如果(appendellipes){result=result+“…”;}
}
返回结果;
}
}
您可以这样使用第二种方法:
<%# Eval("Description").ToString().Truncate(10) %>
<%# Eval("Description").Truncate(10) %>
或者,为了避免混乱,您可以使用第一种方法,如下所示:
<%# Eval("Description").ToString().Truncate(10) %>
<%# Eval("Description").Truncate(10) %>
我并不是百分之百地希望向对象类添加扩展方法,因为在任何地方都会出现扩展方法,这往往是一件痛苦的事情,因此我选择了它。尝试使用Eval(“Description”)。SubString(0100)我尝试过这个,但它会导致一个问题,因为我的一些字符串少于100个字符请检查长度,然后如果textbox1.text.length>100-…子字符串(01100)是否尝试过类似于100的内容?(Eval(“Description”)作为字符串)。子字符串(0100):Eval(“Description”)%%>