public static string getLeftString(string str)
{
string strTemp = str;
if(str.Length> 11)
strTemp = str.Substring(0,11);
return strTemp; }
{
string strTemp = str;
if(str.Length> 11)
strTemp = str.Substring(0,11);
return strTemp; }
然后在aspx页面调用
函数里加上判断
if(YourString.Length >= 11)
<%# DataBinder.Eval(Container.DataItem,"标题").ToString().Replace("\n","").Replace("<","<").Replace(">",">").Replace("\r","<br>").Replace(" "," ").str.PadRight(12,' ').Substring(0,11) %>
/// 截取字符串
/// </summary>
protected string SubStr(string str,int begin,int length)
{
return str.Length > length ? str.Substring(0,length) + "..." : str;
}
<%# SubStr(container.dataitem("销售信息").ToString(),0,20) %> public string GetSub(object obj)
{
string str=obj.ToString();
if(str.Length<=22) return str;
return str.Substring(0,22)+"...";
} <%# GetSub(Databinder(Container.DataItem,"a_title"))%>
在后台代码中写个函数
首先多字符串的长度进行判断
然后再操作
if(YourString&&YourString.Length >= 11)
这个方法出错:
编译器错误信息: CS0117: “string”并不包含对“str”的定义
例如,要根据STR的长度是否超过11个为例来显示,如果大于11个则截短,如果小于11个字符,则原样显示,我是按下面的方法做的(str.Length>11?:str.Substring(0,11)+"...":str
即可
谢谢你(str.Length>11?:str.Substring(0,11)+"...":str要怎么用啊
private string ProcessString(string str)
{
string s
if(s == null) s = " ";
s = str.ToString().Replace("\n","").Replace("<","<").Replace(">",">").Replace("\r","<br>").Replace(" "," ");
if(s.Length <= 11)
return s;
else
return s.SubString(0,11) + '...';
}将标记改为
<%# ProcessString(DataBinder.Eval(Container.DataItem,"标题")) %>
{
string sql = "select top 6 * from Rczx_Info where Category = 001";
DataSet ds = newdata.dbbind(sql); this.Repeater1.DataSource = ds.Tables[0].DefaultView;
this.Repeater1.DataBind();
}aspx:<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td>
<%# DataBinder.Eval(Container.DataItem,"标题") %>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
if(str.Length> 11)
strTemp = str.Substring(0,11);
return strTemp
if(str.Length> 11)
strTemp = str.Substring(0,11);
return strTemp
写在什么地方?
{
string sql = "select top 6 * from Rczx_Info where Category = 001";
DataSet ds = newdata.dbbind(sql); this.Repeater1.DataSource = ds.Tables[0].DefaultView;
this.Repeater1.DataBind();
}aspx:<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td>
<%# DataBinder.Eval(Container.DataItem,"标题") %>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
http://dotnet.mblogger.cn/qiuji/posts/1869.aspx
即可,另外,尽量不要用EVAL
在页面顶部加上
<%@ Import Namespace="System.Data" %>
然后使用下面的语句((DataRowView)(Container.DataItem))["标题"].ToString().Lengh>11?((DataRowView)(Container.DataItem))["标题"].ToString().Replace("\n","").Replace("<","<").Replace(">",">").Replace("\r","<br>").Replace(" "," ").Substring(0,11):((DataRowView)(Container.DataItem))["标题"]
至于绑定,像databinder.eval这种后期绑定方式,优点是可以在绑定时格式化数据,但是如果只是单纯显示,还是尽量避免使用
一般来说,使用绑定的控件,其中每一个子项,都是一个DATAROWVIEW对象,因此,可以转换每一个DATAITEM并对数据进行访问
详细的说明可以看VS.NET2003中帮助,.NETFRAMEWORK,参考,类库,关于DATAROWVIEW一项
谢谢你,不过,有错啊?
编译器错误信息: CS0117: “string”并不包含对“Lengh”的定义
请先校正你的语法问题