动态生成table

jy00251278 2008-11-21 11:13:46
大家给帮个忙写下
要形成
<table>
<tr>
<td><a href="a.aspx?id=<%#Eval(id)%>&name=<%#Eval(name)%>">传值</a></td>
</tr>
.
.
.
.
.
.
</table>
要循环的C#代码。谢谢
...全文
986 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdnjwang 2009-07-25
  • 打赏
  • 举报
回复
小发猫 2009-06-30
  • 打赏
  • 举报
回复
if (!IsPostBack)
{
HtmlTable Table = new HtmlTable();
this.form1.Controls.Add(Table);

for (int i = 0; i < 10;i++)
{
HtmlTableRow tRow = new HtmlTableRow();
Table.Rows.Add(tRow);

HtmlTableCell tCell1 = new HtmlTableCell();
tCell1.InnerHtml = "<a href='a.aspx?id= " + i.ToString() + "&name=" + i.ToString() + "'>传值</a>";
tRow.Cells.Add(tCell1);
}
}
67676373 2008-12-03
  • 打赏
  • 举报
回复
给11楼的第2方法改个错,没有返回值,

protected string GetTable()
{
StringBuilder sb = new StringBuilder(string.Empty);
sb.Append("<table>\r\n");
sb.Append(" <tr><td>标题</td></tr>\r\n");

DataSet ds = GetData(); //取出据

if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
sb.Append("<tr><td><a href=\"a.aspx?id="+ds.Tables[0].Rows[i]["id"].ToString()+ "&name= "+ds.Tables[0].Rows[i]["name"].ToString()+"\">传值 </a> </td></tr>\r\n");
}
}

sb.Append("</table>\r\n");
return sb.toString();
}

后浪 2008-11-22
  • 打赏
  • 举报
回复
恩,楼主将你那放入Repeater 数据控件就可以了
sdnjwang 2008-11-21
  • 打赏
  • 举报
回复
学习,帮顶,mark
ou_yangpengfei 2008-11-21
  • 打赏
  • 举报
回复
用js可以不
tian_fang 2008-11-21
  • 打赏
  • 举报
回复
学习
TTTTTCSHARP 2008-11-21
  • 打赏
  • 举报
回复
学习!
BernardSun 2008-11-21
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
HtmlTable Table = new HtmlTable();
this.form1.Controls.Add(Table);

for (int i = 0; i < 10;i++)
{
HtmlTableRow tRow = new HtmlTableRow();
Table.Rows.Add(tRow);

HtmlTableCell tCell1 = new HtmlTableCell();
tCell1.InnerHtml = "<a href='a.aspx?id= " + i.ToString() + "&name=" + i.ToString() + "'>传值</a>";
tRow.Cells.Add(tCell1);
}
}
}
wfcfan 2008-11-21
  • 打赏
  • 举报
回复
少了一句
return HTML.ToString();
游北亮 2008-11-21
  • 打赏
  • 举报
回复
方法1:嵌套在Repeater里
<asp:Repeater ID="repDataList" runat="server">
<HeaderTemplate>
<table border="0" style="width:600px; border-style:none;">
<tr>
<th style="width:100px;">标题栏</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <a href="a.aspx?id= <%#Eval(id)%>&name= <%#Eval(name)%>">传值 </a> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>


方法2:
使用Runat=server的Table,比如
<asp:table runat="server" id="tb1">
</asp:table>

在后台cs代码里循环。
wfcfan 2008-11-21
  • 打赏
  • 举报
回复
public string table()
{
System.Text.StringBuilder HTML = new System.Text.StringBuilder();
HTML.Append("<table>");
for (int i = 0; i < 10; i++)
{
HTML.Append("<tr>");
HTML.Append("<td> <a href=\"a.aspx?id= <%#Eval(id)%>&name= <%#Eval(name)%>\">传值 </a> </td>");
HTML.Append("</tr>");
}
HTML.Append("</table>");
}



前台:
<body>
<%=table()%>
</body>
syc958 2008-11-21
  • 打赏
  • 举报
回复
把这个当成字符串不就可以了!用参数来替换一下里面要变化的地方....给你个参考自己试一下就可以了...
Append( "<li><span class='li431'>" + dr.GetDateTime(6).ToString("yyyy-MM-dd")+ "</span><span class='li1211'>·<a href=" + ((dr.GetString(4).Trim().Length == 0) ? "xwny.aspx?id=" + dr.GetSqlInt64(0) : dr.GetString(4).Trim()) + " target='_blank' " + ((dr.GetString(5).Trim().Length == 0) ? "" : " class=" + dr.GetString(5).Trim()) + " title=" + dr.GetString(1).Trim().Replace(" ","") + ">" + dr.GetString(1).Trim() + "</a></span></li>");
qinhl99 2008-11-21
  • 打赏
  • 举报
回复
在dataView里用模板列放
<table>
<tr>
<td> <a href="a.aspx?id= <%#Eval(id)%>&name= <%#Eval(name)%>">传值 </a> </td>
</tr>
</table>

mengxj85 2008-11-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 oec2003 的回复:]
1 用repeater 绑定数据 后台取出数据绑定到repeater上


HTML code
<asp:Repeater ID="Repeater1" runat="server">

<HeaderTemplate>
<table>
<tr>
<td>标题</td>
</tr>
</HeaderTemplate>
<ItemTemplate>

<tr>

[/Quote].
要不自己写成一个用户控件
oec2003 2008-11-21
  • 打赏
  • 举报
回复
1 用repeater 绑定数据 后台取出数据绑定到repeater上


<asp:Repeater ID="Repeater1" runat="server">

<HeaderTemplate>
<table>
<tr>
<td>标题</td>
</tr>
</HeaderTemplate>
<ItemTemplate>

<tr>
<td> <a href="a.aspx?id= <%#Eval(id)%>&name= <%#Eval(name)%>">传值 </a> </td>
</tr>

</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>




2 如果要循环的话 就不用Eval绑定了



protected string GetTable()
{
StringBuilder sb = new StringBuilder(string.Empty);
sb.Append("<table>\r\n");
sb.Append(" <tr><td>标题</td></tr>\r\n");

DataSet ds = GetData(); //取出据

if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
sb.Append("<tr><td><a href=\"a.aspx?id="+ds.Tables[0].Rows[i]["id"].ToString()+ "&name= "+ds.Tables[0].Rows[i]["name"].ToString()+"\">传值 </a> </td></tr>\r\n");
}
}

sb.Append("</table>\r\n");
}



前台


<%= GetTable();%>
andrewsway 2008-11-21
  • 打赏
  • 举报
回复
在那放个asp:Literal,用StringBuilder构造你要打的东西
ntwqy_2008 2008-11-21
  • 打赏
  • 举报
回复
朱翔...
ntwqy_2008 2008-11-21
  • 打赏
  • 举报
回复
朱翔...

62,025

社区成员

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

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

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

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