简单动态添加table问题

jenny0810 2010-01-27 10:34:00
大家好:
昨天看视频看到一个动态添加table的,自己试了一下怎么也添加不成功!请大家帮我看看为什么会错。

protected System.Web.UI.WebControls.Table tbdt;
protected void Page_Load(object sender, EventArgs e)
{
TableCell tb;
TableRow tr;

tr = new TableRow();

tb = new TableCell();
tb.Controls.Add(new LiteralControl("<img src='a.gif'>"));
tr.Cells.Add(tb);

tb = new TableCell();
tb.Controls.Add(new LiteralControl("<img src='b.gif'>"));
tr.Cells.Add(tb);

tb = new TableCell();
tb.Controls.Add(new LiteralControl("<img src='c.gif'>"));
tr.Cells.Add(tb);

tbdt.Rows.Add(tr);//无法从webcontrols.TableRow转换成htmlcontrols.HtmlTableRow
}


为什么会报这个错???我觉得它根本不需要什么转换???谢谢大家
...全文
150 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
jenny0810 2010-01-27
  • 打赏
  • 举报
回复
谢谢各位,通过大家的代码问题解决了

1:table没有实例化
2:动态生成的控件没有添加到page中

答案在16#

jenny0810 2010-01-27
  • 打赏
  • 举报
回复
在一楼的基础上改一下就不报错了

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Panel ID="Panel1" runat="server" Height="50px" Width="125px">
</asp:Panel>

</div>
</form>
</body>
</html>


HtmlTable tbdt=new HtmlTable();
HtmlTableRow tr = new HtmlTableRow();

HtmlTableCell tb = new HtmlTableCell();
tb.Controls.Add(new LiteralControl(" <img src='a.gif'>"));
tr.Cells.Add(tb);

HtmlTableCell tb1 = new HtmlTableCell();
tb1.Controls.Add(new LiteralControl(" <img src='b.gif'>"));
tr.Cells.Add(tb1);

HtmlTableCell tb2 = new HtmlTableCell();
tb2.Controls.Add(new LiteralControl(" <img src='c.gif'>"));
tr.Cells.Add(tb2);

tbdt.Rows.Add(tr);
Panel1.Controls.Add(tbdt);

那就是说table需要实例化了
cxy666 2010-01-27
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e)
{
Table tbdt = new Table();
TableCell tb;
TableRow tr;

tr = new TableRow();

tb = new TableCell();
tb.Controls.Add(new LiteralControl("<img src='a.gif'>"));
tr.Cells.Add(tb);

tb = new TableCell();
tb.Controls.Add(new LiteralControl("<img src='b.gif'>"));
tr.Cells.Add(tb);

tb = new TableCell();
tb.Controls.Add(new LiteralControl("<img src='c.gif'>"));
tr.Cells.Add(tb);

tbdt.Rows.Add(tr);
this.form1.Controls.Add(tbdt);
}

你动态生成的 控件 是不是没有 添加到 form 或 page 中去 上面的代码在我这可以执行。
zouzedong 2010-01-27
  • 打赏
  • 举报
回复
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ws1._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Webservices</title>
</head>
<body>
<form id="form1" runat="server">
<div id="div1" runat="server">

</div>
</form>
</body>
</html>


StringBuilder sbTable = new StringBuilder();
sbTable.Append("<table><thead>");
sbTable.Append("<tr><th>");
sbTable.Append("A");
sbTable.Append("</th><th>");
sbTable.Append("B");
sbTable.Append("</th><th>");
sbTable.Append("C");
sbTable.Append("</th></tr>");
sbTable.Append("</thead><tbody>");
sbTable.Append("<tr><td>");
sbTable.Append("1");
sbTable.Append("</td><td>");
sbTable.Append("2");
sbTable.Append("</td><td>");
sbTable.Append("3");
sbTable.Append("</td></tr>");
sbTable.Append("</table>");
div1.innterHtml = sbTable.tostring();

阿彪兄 2010-01-27
  • 打赏
  • 举报
回复
支持一下
mqc507 2010-01-27
  • 打赏
  • 举报
回复
前台:


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ws1._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Webservices</title>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:Panel ID="pnlContainer" runat="server"></asp:Panel>

</div>
</form>
</body>
</html>




后台:

protected void Page_Load(object sender, EventArgs e)
{

Table table = new Table();
TableRow tr = new TableRow();

for (int i = 0; i < 6; i++)
{
TableCell tc = new TableCell();
tc.Text = i.ToString();
tr.Cells.Add(tc);
}
table.Controls.Add(tr);

pnlContainer.Controls.Add(table);
}
yangzhiwei1987 2010-01-27
  • 打赏
  • 举报
回复
为什么不用js动态生成Table呢
jenny0810 2010-01-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mzjmicrosoft 的回复:]
<asp:Table ID="tbdt"runat="server"> </asp:Table>
[/Quote]
protected System.Web.UI.WebControls.Table tbdt;
我是在后台定义的,这么声明不就说明是服务器控件吗??
jenny0810 2010-01-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xray2005 的回复:]
using System.Web.UI.HtmlControls;

protected HtmlTable tbdt;
    protected void Page_Load(object sender, EventArgs e)
    {

      HtmlTableRow  tr = new HtmlTableRow();

        HtmlTableCell tb = new HtmlTableCell();
        tb.Controls.Add(new LiteralControl(" <img src='a.gif'>"));
        tr.Cells.Add(tb);

        HtmlTableCell  tb1 = new HtmlTableCell();
        tb1.Controls.Add(new LiteralControl(" <img src='b.gif'>"));
        tr.Cells.Add(tb1);

        HtmlTableCell tb2 = new HtmlTableCell();
        tb2.Controls.Add(new LiteralControl(" <img src='c.gif'>"));
        tr.Cells.Add(tb2);

        tbdt.Rows.Add(tr)
    }


[/Quote]报错
jenny0810 2010-01-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ad0128 的回复:]
C# code
StringBuilder sbTable=new StringBuilder();
sbTable.Append("<table><thead>");
sbTable.Append("<tr><th>");
sbTable.Append("A");
sbTable.Append("</th><th>"?-
[/Quote]谢谢 我一般也是用这种 昨天看了视频想试试我发的这种
mzjmicrosoft 2010-01-27
  • 打赏
  • 举报
回复
<asp:Table ID="tbdt" runat="server"> </asp:Table>
itliyi 2010-01-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xray2005 的回复:]
using System.Web.UI.HtmlControls;

protected HtmlTable tbdt;
    protected void Page_Load(object sender, EventArgs e)
    {

      HtmlTableRow  tr = new HtmlTableRow();

        HtmlTableCell tb = new HtmlTableCell();
        tb.Controls.Add(new LiteralControl(" <img src='a.gif'>"));
        tr.Cells.Add(tb);

        HtmlTableCell  tb1 = new HtmlTableCell();
        tb1.Controls.Add(new LiteralControl(" <img src='b.gif'>"));
        tr.Cells.Add(tb1);

        HtmlTableCell tb2 = new HtmlTableCell();
        tb2.Controls.Add(new LiteralControl(" <img src='c.gif'>"));
        tr.Cells.Add(tb2);

        tbdt.Rows.Add(tr)
    }


[/Quote]up
ad0128 2010-01-27
  • 打赏
  • 举报
回复

StringBuilder sbTable = new StringBuilder();
sbTable.Append("<table><thead>");
sbTable.Append("<tr><th>");
sbTable.Append("A");
sbTable.Append("</th><th>");
sbTable.Append("B");
sbTable.Append("</th><th>");
sbTable.Append("C");
sbTable.Append("</th></tr>");
sbTable.Append("</thead><tbody>");
sbTable.Append("<tr><td>");
sbTable.Append("1");
sbTable.Append("</td><td>");
sbTable.Append("2");
sbTable.Append("</td><td>");
sbTable.Append("3");
sbTable.Append("</td></tr>");
sbTable.Append("</table>");
Response.Write(sbTable.ToString());
teita731 2010-01-27
  • 打赏
  • 举报
回复
明显一个是服务器控件一个HTML控件。。。

将HTML TABLE修改为WEB TABLE就行了
jenny0810 2010-01-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xray2005 的回复:]
using System.Web.UI.HtmlControls;

protected HtmlTable tbdt;
    protected void Page_Load(object sender, EventArgs e)
    {

      HtmlTableRow  tr = new HtmlTableRow();

        HtmlTableCell tb = new HtmlTableCell();
        tb.Controls.Add(new LiteralControl(" <img src='a.gif'>"));
        tr.Cells.Add(tb);

        HtmlTableCell  tb1 = new HtmlTableCell();
        tb1.Controls.Add(new LiteralControl(" <img src='b.gif'>"));
        tr.Cells.Add(tb1);

        HtmlTableCell tb2 = new HtmlTableCell();
        tb2.Controls.Add(new LiteralControl(" <img src='c.gif'>"));
        tr.Cells.Add(tb2);

        tbdt.Rows.Add(tr)
    }


[/Quote]想问一下 为什么用服务器的不行呢??可是我看的视频是可以的
zhangkewen1234 2010-01-27
  • 打赏
  • 举报
回复
楼主的Table 是HtmlTalbe

应该用服务器控件
<asp:Table ID="tbdt" runat="server"></asp:Table>
xray2005 2010-01-27
  • 打赏
  • 举报
回复
using System.Web.UI.HtmlControls;

protected HtmlTable tbdt;
protected void Page_Load(object sender, EventArgs e)
{

HtmlTableRow tr = new HtmlTableRow();

HtmlTableCell tb = new HtmlTableCell();
tb.Controls.Add(new LiteralControl("<img src='a.gif'>"));
tr.Cells.Add(tb);

HtmlTableCell tb1 = new HtmlTableCell();
tb1.Controls.Add(new LiteralControl("<img src='b.gif'>"));
tr.Cells.Add(tb1);

HtmlTableCell tb2 = new HtmlTableCell();
tb2.Controls.Add(new LiteralControl("<img src='c.gif'>"));
tr.Cells.Add(tb2);

tbdt.Rows.Add(tr)
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧