日期:2014-05-18  浏览次数:20466 次

又是一个简单的问题,字符串攫取问题~~~~~~~~~~~~~~~
我从数据库里读出一个字符串str,str的长度不是唯一的,可以大于10也可以小于10.
我们问题是,有什么函数可以实现,攫取str前10位的字符吗?
我想用.Substring(0,10)来实现这个效果,但是又出现问题,当str的长度小于10的时候,用.Substring(0,10)会报错
请问还有其他什么的方法或者函数吗?

------解决方案--------------------

C# code
str.Substring(0,str.Length>=10?10:str.Length)

------解决方案--------------------
根本不用判断..换句Sql

SELECT ....,Left('字段名',10) FROM 表 ....
------解决方案--------------------
C# code

<table > <tr > <td > <%# DataBinder.Eval(Container.DataItem, "NewsTitle").ToString().length>10?substring(DataBinder.Eval(Container.DataItem, "NewsTitle").ToString(),0,10):DataBinder.Eval(Container.DataItem, "NewsTitle").ToString()%> 
</table > </tr > </td >

------解决方案--------------------
<%# jiequ(DataBinder.Eval(Container.DataItem, "NewsTitle").ToString()).ToString() %>

后台:
public string jiequ(string str)
{
if(str.length>10)
{
string a= str.substring(0.10);
}
else
{
string a=str.substring(0);
}
return a;
}
------解决方案--------------------
如果是以table方式

XML code
<table style="table-layout:fixed;" width="500">
<tr>
<td width="10">asdfasdfkalsjdfklasdf</td><td width="490"> asdf</td></tr>
</table>

------解决方案--------------------
你自己写的有问题. td也要定义宽度的.
超出td的宽度,才看得出效果.

再指正你一个错误的理解.

style的应用跟你用不用datalist没有关系. asp.net控件,输出后只是html元素
style能不能用只依赖于
1,你的浏览器, 比如某个css属性是后出的,那么早期ie就不支持
2,w3c标准,这个不好举例,常见的是一些document的声明,自己写的多了就知道了.
3,html元素本身是否支持某个css属性,比如你给 <a>指定boder-bottom,本身它就没border又何来border-bottom

你需要在运行后的页面,点右健看html源码,<table ... <td 是否做了正确的设置.