Asp.net 中动态生成table,在table中动态添加行,在行中填入数据,数据如何全部存入

如题所述

1、后台代码

public string GetString() //自定义方法,供前台调用

{

StringBuilder strBuilder = new StringBuilder(); //用StringBuilder接受所有拼接的字符串,因为StringBuilder效率比拼接字符串效率高,当然以下代码还需要你自己去完善,需要完整代码的话,继续追问

strBuilder.AppendLine("<table>");
//接下来取出数据

foreach(dataRow row in datas) //遍历取出数据放到tr中
{

strBuilder.AppendLine("<tr><td>i</td><td>d["date"]</td><td>d["goodsCompany"]</td>.....</tr>.");
i++;
}

strBuilder.AppendLine("</table>");
return strBuilder.ToString(); //得到strBuilder返给GetString()这个自定义方法
}

2、前台调用
找一块区域,调用GetString()
<%=GetString()%>//这样就得到了,哈哈,完毕,下面介绍其他的两种方法

3、如果需要异步调用的话,就需要ajax配合json技术了

4、想偷懒也不注重效率的话,就用数据绑定控件吧,比如Reapter

ps:有不懂的继续追问追问

有报错,,,这是全部代码吗?可以贴给完整点的代码吗,菜鸟 谢谢

追答


 
   


而在xx.aspx里只需要<%=GetTable()%>这一句代码,就够了,如果有错,就在GetTable()后面加个分号,这个分号我也老是分不清何时该加


温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-05
假设table外边有<div id="tab"><div>,后台查询数据datatable dt;
int i=1;//编号
string con="<table><tr><td>序号</td>><td>日期</td>......</tr>";//表格上边的标题行
foreach(datarow dr in dt)
{
con+="<tr><td>i</td>><td>dr["Date"]</td></tr>......";//数据行,字段对应数据库查询字段
i++;
}
con+="</table>";
this.tab.innerHtml=con;
这样就可以实现了,原理就是从后台拼html代码,显示在前台本回答被网友采纳
第2个回答  2013-12-05
使用拼装;例如输出 名字列表,有三条记录:张三,李四,王五。
string sResult = "", sHead = "<table>", sEnd = "</table>";
string sRow = "", sRowFmt = "<tr><td>{0}</td></tr>";
//循环行
for (int i = 0; i < 3; i++)
{
sRow += Formatstring(sRowFmt, dataset.tables[0].rows[i].tostring();
}
//拼装
sResult = sHead + sRow + sEnd;
//输出结果,或者是显示到指定位置
response.write(sResult);