在DataList和Gridview中截取某列长度

本文介绍了两种在Web开发中实现文本截断的方法:一种是在前后端结合使用的方法,适用于内容处理较为复杂的场景;另一种是在前端直接使用函数实现,特别适合于简单的文本处理。文章通过具体的代码示例展示了如何在ASP.NET的GridView中使用这两种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    

一种是利用前台+后台代码的方法来实现(如果对于内容的处理比较复杂)(转自:http://blog.youkuaiyun.com/hnuyangyi/article/details/4042709

//截取的函数方法 
public string SubStr(string sString, int nLength) 
{ 

if (sString.Length <= nLength) 
{ 
return sString; 
} 
string sNewStr = sString.Substring(0, nLength); 
sNewStr = sNewStr + "..."; 
return sNewStr; 
} 
//界面引用 
<%# SubStr(Eval("GameSm").ToString(),30)%> 


一种是直接在前台使用函数来实现(转自:http://yushuir.blog.163.com/blog/static/434671382009821158262/

//在Gridview中要注意,要插入的项是TemplateField才能做截取,不能是单纯的HyperLink。

<asp:TemplateField HeaderText="新闻标题">  
    <ItemTemplate>  
      
        <%# (Eval("NewsName").ToString().Length>8?Eval("NewsName").ToString().Substring(0,8):Eval("NewsName").ToString()) + "…" %>                  
      
    </ItemTemplate>  
</asp:TemplateField>  


此处需要注意的是:在C#中是有大小写区分的,如果不正确会提示错误

 

如果需要对截取列提示信息的显示,可以在ItemTemplate中增加一个label,对其tooltile属性进行赋值操作

<asp:TemplateField HeaderText="新闻标题">  
    <ItemTemplate>  
      
        <asp:Label runat="server" Text='<%# (Eval("NewsName").ToString().Length>8?Eval("NewsName").ToString().Substring(0,8):Eval("NewsName").ToString()) + "…" %>'  ToolTip=<%#Eval("drug_vender")%>></asp:Label>                   
      
    </ItemTemplate>  
</asp:TemplateField>  

或是后台代码实现

<pre class="csharp" name="code">    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    {         
	if (e.Row.RowType == DataControlRowType.DataRow)         
	{             
		e.Row.ToolTip = "这是第" + (e.Row.RowIndex + 1).ToString() + "行"; 
	}
     }


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值