如果我在.aspx中有一张表
<table id="table" >
<tr id="first" runat="server"> blablabla>
<td></td>
</tr>
<tr id="second" runat="server">
<td></td>
</tr>
</table>
如何在后面的代码中将顺序从第二个更改为第一个?
我尝试用占位符包装tr并相应地隐藏/显示它们,但它不允许我这样做,因为我在这些行中获得了重复的ID。而我不能使用javascript ..
答案 0 :(得分:3)
由于您未将tr
或table
设置为服务器端代码(使用runat="server"
属性),因此后面的代码无法看到它们,并且无法更改排序
在aspx中:
<table id="table" runat="server">
<tr id="first" runat="server">
<td>blablabla</td>
</tr>
<tr id="second" runat="server">
<td> </td>
</tr>
</table>
在代码背后:
var row = table.Rows[0]; // get reference to first row
table.Rows.Remove(row); // remove it
table.Rows.Add(row); // Add again, at the end (default)
答案 1 :(得分:2)
由于这是静态标记而不是服务器端控件(没有一个标记设置为runat="server"
),因此服务器端C#代码无法修改它们。