数据库邦定
<%#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>
也就是说把数据帮定的字符串按一个字一个字的提出来显示
请问应该怎么写?

解决方案 »

  1.   

    c#代码要写在<# #>里面才可以执行
    不如在后台动态生成table,然后按照数据库的值,行列赋值
      

  2.   

    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()) %>要求很奇怪,这么循环,效率不是很好。
      

  3.   

    恐怕你需要动态生成html然后输出。
      

  4.   

    真是的!
    <%# 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;
                }
            }
      

  5.   

    我就是想把字符串拆分进行单个字的搜索
    <a href="a.aspx?gjz=单个字">单个字</a>
      

  6.   

    你把取的字符放入STRING中,爱怎么输出就怎么输出.没必要那么麻烦.
      

  7.   

    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; 
    } 前台调用 <%# writechars(DataBinder.Eval(Container, "DataItem.ShopName").ToString()) %> 
      

  8.   

    典型的ASP思维方式。思维方式改变不了,.NET学不好
    这样的做法在.NET里面看有点变态
    类似这样的功能你可以用控件实现