大家好:
昨天看视频看到一个动态添加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
}
为什么会报这个错???我觉得它根本不需要什么转换???谢谢大家
昨天看视频看到一个动态添加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
}
为什么会报这个错???我觉得它根本不需要什么转换???谢谢大家
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)
}
<asp:Table ID="tbdt" runat="server"></asp:Table>
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());
我是在后台定义的,这么声明不就说明是服务器控件吗??
<%@ 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);
}
<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();
{
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 中去 上面的代码在我这可以执行。
<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需要实例化了
2:动态生成的控件没有添加到page中答案在16#