从databinder.eval函数中提取几个字符

本文关键字:几个 字符 提取 databinder eval 函数 | 更新日期: 2023-09-27 18:27:34

我有一个名为listview1的列表视图。我正在使用Questiontitle的值从数据库中绑定它。

 <ItemTemplate>
<asp:LinkButton ID="questionlink" runat="server" Text='<%# Eval("Questiontitle") %>' ></asp:LinkButton>
 </ItemTemplate>

但我只想要<%#中的几个字符Eval("Questiontitle")%>值比方说前20个字符

如何管理它。

从databinder.eval函数中提取几个字符

aspx:

<ItemTemplate>
<asp:LinkButton ID="questionlink" runat="server" Text='<%# ProcessData(Eval("Questiontitle")) %>' ></asp:LinkButton>
 </ItemTemplate>

C#

protected string ProcessData(obj val)
{
  if(val!=null) {return val.ToString().Length > 20 ? val.ToString().Substring(0,20) + "...." : val.ToString();}
  return "";
}

您不能在EVAL中直接使用子字符串。相反,您可以在查询中使用子字符串,也可以在网格的RowDataBound事件中使用。

查看上面关于如何使用SQL 的示例

select substring ('This is such a long I mean soooooooooooooooooooooooooooooooooooooooo long question',1,15)as question

结果:

This is such a

MSDN:子字符串