页面使用for循环
数据库邦定
<%#DataBinder.Eval(Container, "DataItem.ShopName")%>
长度未知,内容已取出来了
想在页面输出
<table><tr><td>
for(int i=0;i<DataBinder.Eval(Container, "DataItem.ShopName").ToString().Length;i++){
DataBinder.Eval(Container, "DataItem.ShopName").ToString().Substring(i, i + 1);
}
</td></tr></table>
也就是说把数据帮定的字符串按一个字一个字的提出来显示
请问应该怎么写?
------解决方案--------------------protected void writechars(string str)
{
string temp = "";
for(int i=0;i<str.length;i++)
{
temp = temp + str.substring(i,1)+ "<br>";
}
return temp;
}
前台调用<%# writechars(DataBinder.Eval(Container, "DataItem.ShopName").ToString()) %>
要求很奇怪,这么循环,效率不是很好。
------解决方案--------------------真是的!
<%# MyLeft(DataBinder.Eval(Container, "DataItem.ShopName").ToString(),长度)%>
后台代码
public static string MyLeft(string mText, int byteCount)
{
if (byteCount < 1)
return mText;
if (System.Text.Encoding.Default.GetByteCount(mText) <= byteCount)
{
return mText;
}
else
{
byte[] txtBytes = System.Text.Encoding.Default.GetBytes(mText);
byte[] newBytes = new byte[byteCount - 4];
for (int i = 0; i < byteCount - 4; i++)
{
newBytes[i] = txtBytes[i];
}
string OutPut = System.Text.Encoding.Default.GetString(newBytes) + "...";
if (OutPut.EndsWith("?...") == true)
{
OutPut = OutPut.Substring(0, OutPut.Length - 4);
OutPut += "...";
}
return OutPut;
}
}
------解决方案--------------------C# code
protected void writechars(string str)
{
string temp = "";
for(int i=0;i <str.length;i++)
{
temp = temp + "<a href='a.aspx?gjz=" +str.substring(i,1)+ "'>";
}
return temp;
}