读书人

动态平添Table到html

发布时间: 2013-04-20 19:43:01 作者: rapoo

动态添加Table到html
我现在有一段代码要动态生成一个table然后添加到html

HtmlTable table1 = new HtmlTable();
table1.Border = 1;
HtmlTableRow row;
HtmlTableCell cell;

for (int i = 0; i < dt.Rows.Count; i++) {
row = new HtmlTableRow();
cell = new HtmlTableCell();
cell.InnerHtml = dt.Rows[i][0].ToString();
row.Cells.Add(cell);
cell = new HtmlTableCell();
cell.InnerHtml = dt.Rows[i][1].ToString();
row.Cells.Add(cell);
cell = new HtmlTableCell();
cell.InnerHtml = dt.Rows[i][2].ToString();
row.Cells.Add(cell);
cell = new HtmlTableCell();
cell.InnerHtml = dt.Rows[i][3].ToString();
row.Cells.Add(cell);
cell = new HtmlTableCell();
cell.InnerHtml = dt.Rows[i][4].ToString();
row.Cells.Add(cell);
table1.Rows.Add(row);
}
Page.Controls.Add(table1);

但是,运行起来,这个table是添加到页面最下面的,有没有办法把它添加到我想要的地方。
还有,添加完后我想调用一段可以修改这个table的javascript,我要怎么写。
[解决办法]
前台放一个div,panel等容器(一定要runat="server")
然后用这容器.Controls.Add(table1);这样table就在这个容器里了
[解决办法]
把我下面的行换为table就ok了!

<%@ page language="C#" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <script type="text/javascript"> function contactlist(){ var table = document.getElementById("contactTable"); var tr = table.insertRow(table.rows.length);//添加一行 tr.align="center"; tr.bgcolor="#F3F4F3"; tr.height="23"; //添加五列 var td0 = tr.insertCell(0); td0.width="20%"; var td1 = tr.insertCell(1); td1.width="20%"; var td2 = tr.insertCell(2); td2.width="8%"; var td3 = tr.insertCell(3); td3.width="30%"; var td4 = tr.insertCell(4); td4.width="20%"; //设置列内容 td0.innerHTML = ""; td1.innerHTML = "<input type='file' id='dataAudio' name='dataAudio'/><input type='hidden' name='dataAudios'/><input type='hidden' name='audioOldName'/>"; td2.innerHTML = "<input type='text' name='playDateTime' id='playDateTime' onkeyup='validateNumber(this);' size='5' maxlength='3' style='color: red' />"; td3.innerHTML = "<input type='text' name='content' id='content' size='35' maxlength='300'/>"; td4.innerHTML = "<input type='button' value='删除' onclick='removeRow(this.parentNode.parentNode)'/>"; } function removeRow(r) { var root = r.parentNode; var allRows = root.getElementsByTagName('tr'); if(allRows.length > 3){ root.removeChild(r); }else{ alert("不能删除改行!"); } } </script > </head> <body> <table id="contactTable" width="98%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#D9D9D9"> <tr bgcolor="#F3F4F3" align="center" height="23"> <td colspan="5" align="left"><input type="button" value="添加帧" class="button" onclick="return contactlist();"/></td> </tr> <tr bgcolor="#F3F4F3" align="center" height="23"> <td width="20%">上传图片</td> <td width="20%">上传声音</td> <td width="8%">播放时间</td> <td width="30%">内 容</td> <td width="20%">操作</td> </tr> </table> </body> </html>


[解决办法]
最简单的,可以写this.Form.Controls.Add(table1);
也可以放在具体的控件内,比如Panel1.Controls.Add(table1);

[解决办法]
引用:
但是,运行起来,这个table是添加到页面最下面的,有没有办法把它添加到我想要的地方。
还有,添加完后我想调用一段可以修改这个table的javascript,我要怎么写。

asp.net的“空”布局容器叫做 PlaceHolder。如果你不知道这个控件,我建议考虑是否应该学习asp.net问题。只有你放起了asp.net,才应该考虑别的。

至于第二个问题,我认为很难评估你是否真的会javascript,不知道怎样说你能明白。因此也无法替你写代码。

读书人网 >asp.net

热点推荐