public class UserInfo
        {
            public int ClassID { get; set; }
            public string UserName { get; set; }
            public int Course { get; set; }
            public int Score { get; set; }
        
            public UserInfo(int classid,string username,int course,int score)
            {
                this.ClassID = classid;
                this.UserName = username;
                this.Course = course;
                this.Score = score;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            //语文ID:1      数学ID:2     英语ID:3      计算机ID:4            List<UserInfo> lst_user = new List<UserInfo>();
            lst_user.Add(new UserInfo(1,"xiaoming", 1 ,98));
            lst_user.Add(new UserInfo(1, "xiaoming", 2 , 88));
            lst_user.Add(new UserInfo(1, "xiaoming",  3 , 90));
            lst_user.Add(new UserInfo(1, "xiaoming",  4 , 99));            lst_user.Add(new UserInfo(2, "xiaohong", 1 , 98));
            lst_user.Add(new UserInfo(2, "xiaohong", 4 , 99));
            lst_user.Add(new UserInfo(2, "xiaohong", 3 , 90));
            lst_user.Add(new UserInfo(2, "xiaohong", 2 , 88));            lst_user.Add(new UserInfo(3, "xiaoS", 1 , 98));
            lst_user.Add(new UserInfo(3, "xiaoS", 3 , 88));
            lst_user.Add(new UserInfo(3, "xiaoS", 2 , 70));
            lst_user.Add(new UserInfo(3, "xiaoS", 4 , 66));
        }
如何拼接成字符串<table>
   <tr>      
      <th>用户ID</th>
      <th>用户名</th>
      <th>语文</th>
      <th>计算机</th>
      <th>数学</th>
      <th>英语</th>
   </tr>
   <tr>      
      <td>1</td>
      <td>xiaoming</td>
      <td>98</td>
      <td>99</td>
      <td>88</td>
      <td>90</td>
   </tr>
   <tr>      
      <td>2</td>
      <td>xiaohong</td>
      <td>98</td>
      <td>99</td>
      <td>90</td>
      <td>88</td>
   </tr>
   .............................
</table>
?????????????????????????????????????????????????

解决方案 »

  1.   

    不用控件 只要生成html   用ajax加载的
      

  2.   

    这和JSON有一毛钱关系?
    楼主要的明显是一个<table>,用来显示的
      

  3.   

    string result = @"<table>\r\n<tr><th>...</th></tr>" +
                    string.Join(@"\r\n", lst_user.Select(x => string.Format("<tr><td>{0}</td><td>{1}</td>...</tr>", x.ClassID, x.UserName, ...)).ToArray()) +
                    "</table>";
      

  4.   

     你这样结果 不是<tr>
        <td>用户ID</td>
        <td>用户名</td>
        <td>学科</td>
        <td>分数</td>
    </tr>
    跟上面的问题不一样
      

  5.   


    我要的是这个
    <tr>   
      <th>用户ID</th>
      <th>用户名</th>
      <th>语文</th>
      <th>计算机</th>
      <th>数学</th>
      <th>英语</th>
      </tr>
      

  6.   


    拼接里面 结果这样就不会了
    我要的是这个
    <tr>   
      <th>用户ID</th>
      <th>用户名</th>
      <th>语文</th>
      <th>计算机</th>
      <th>数学</th>
      <th>英语</th>
      </tr>
      

  7.   


    void Main()
    {
    List<UserInfo> lst_user = new List<UserInfo>();
    lst_user.Add(new UserInfo(1,"xiaoming", 1 ,98));
    lst_user.Add(new UserInfo(1, "xiaoming", 2 , 88));
    lst_user.Add(new UserInfo(1, "xiaoming",  3 , 90));
    lst_user.Add(new UserInfo(1, "xiaoming",  4 , 99)); lst_user.Add(new UserInfo(2, "xiaohong", 1 , 98));
    lst_user.Add(new UserInfo(2, "xiaohong", 4 , 99));
    lst_user.Add(new UserInfo(2, "xiaohong", 3 , 90));
    lst_user.Add(new UserInfo(2, "xiaohong", 2 , 88)); lst_user.Add(new UserInfo(3, "xiaoS", 1 , 98));
    lst_user.Add(new UserInfo(3, "xiaoS", 3 , 88));
    lst_user.Add(new UserInfo(3, "xiaoS", 2 , 70));
    lst_user.Add(new UserInfo(3, "xiaoS", 4 , 66));
    //语文ID:1      数学ID:2     英语ID:3      计算机ID:4 
    var query=lst_user.GroupBy(u=>new{u.ClassID,u.UserName})
    .Select(g=>new
    {
    ClassID=g.Key.ClassID,
    UserName=g.Key.UserName, 
    语文=g.FirstOrDefault(x=>x.Course==1).Score,
    数学=g.FirstOrDefault(x=>x.Course==2).Score,
    英语=g.FirstOrDefault(x=>x.Course==3).Score,
    计算机=g.FirstOrDefault(x=>x.Course==4).Score
    });


    StringBuilder result=new StringBuilder("<table>\r\n");
    result.Append(@"<tr>   
    <th>用户ID</th>
    <th>用户名</th>
    <th>语文</th>
    <th>计算机</th>
    <th>数学</th>
    <th>英语</th>
    </tr> ");
    query.ToList().ForEach(u=>result.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td><td>{5}</td></tr>\r\n",
    new object[]{u.ClassID,u.UserName,u.语文,u.计算机,u.数学,u.英语}));
    result.AppendLine("</table>");
    Console.WriteLine(result.ToString());}
     public class UserInfo
    {
    public int ClassID { get; set; }
    public string UserName { get; set; }
    public int Course { get; set; }
    public int Score { get; set; } 

        public UserInfo(int classid,string username,int course,int score)
    {
    this.ClassID = classid;
    this.UserName = username;
    this.Course = course;
    this.Score = score;
    } }
      

  8.   

    结果:<table>
    <tr>   
    <th>用户ID</th>
    <th>用户名</th>
    <th>语文</th>
    <th>计算机</th>
    <th>数学</th>
    <th>英语</th>
    </tr> <tr><td>1</td><td>xiaoming</td><td>98</td><td>99</td><td>88</td><td>90</td></tr>
    <tr><td>2</td><td>xiaohong</td><td>98</td><td>99</td><td>88</td><td>90</td></tr>
    <tr><td>3</td><td>xiaoS</td><td>98</td><td>66</td><td>70</td><td>88</td></tr>
    </table>
      

  9.   


    string result = @"<table><tr><th>ID</th><th>姓名</th><th>语文</th><th>数学</th><th>英语</th><th>计算机</th></tr>" +
      string.Join("", lst_user.Select(x => string.Format("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td></tr>", x.ClassID, x.UserName, x.Course, x.Score)).ToArray()) +
      "</table>"; 
    请指教
    我该如何取一个作者的语文 数学 英语 计算机等成绩呢?
      

  10.   

    晕,你的设计是错误的。当然17L给你错误的设计将错就错给出了代码。但是难道说一个人有4门功课成绩就用4个UserInfo(用户信息)表示么?
      

  11.   

    你要么这么设计List<UserInfo> UserInfo包含UserName,UserId
    List<CourseInfo> CourseInfo包含UserId,CourseId,Course要么直接一个UserInfo
    包含Courses属性,以数组装入成绩。
      

  12.   

    我是这样设计的 
    User表  科目表  分数表
    userid courseid course
    我之所以这样写 为了更直观的表达我的意思嘛
      

  13.   

    如果你就是主从表分组联合的话,没必要这么复杂,参考:http://msdn.microsoft.com/en-us/library/bb397905
      

  14.   

    把datatable  放到dataset 里面 然后写成xml  就是那样的
      

  15.   

    用json格式加载数据,然后前台通过js模板绑定json数据...
      

  16.   

    强制后台拼接Table,不易维护效率不高。转换下观念像楼上这种JSON+jQuery模版 
      

  17.   

    一个拼字符串的问题都那么纠结。JSON序列化,前台JS输出可以,后台拼也行!用StringBuilder很快的,前台用<%=变量%>不就完事了吗????