2012-03-12 32 views
0

我有一个名为listview1的listview。 我使用Questiontitle的值从数据库绑定它。从databinder.eval函数中提取几个字符

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

,但我只是想从<%#的eval( “Questiontitle”)字符的只有极少数%>值 可以说,前20个字符

它是如何进行管理。

+0

请参阅http://stackoverflow.com/questions/3324784/databinder-eval-and-substring – Rawling 2012-03-12 13:29:51

回答

0

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 ""; 
} 
0

您不能直接在EVAL中使用子字符串。而是在查询中使用子字符串,或者可以在网格的RowDataBound事件中使用。

0

检查上面的例子就如何使用SQL

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

结果做到这一点:

This is such a 

MSDN:SubString