2010-11-19 59 views
0

如果我在的.aspx如何更改表C#中<tr>標記的順序?

<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

確實可以在頁面加載後使用Javascript來更改DOM。 – 2010-11-19 19:18:25

+0

@Mike阿特拉斯 - 他可能意味着他不被允許。 – Oded 2010-11-19 19:30:34

+0

@Mike Atlas你能舉個例子嗎? – 2010-11-19 19:31:16

回答

3

由於您沒有設置任何trtable作爲服務器端代碼(通過使用runat="server"屬性),它們是不可見的代碼後面,它不能改變排序。

在ASPX:

<table id="table" runat="server"> 
    <tr id="first" runat="server"> 
     <td>blablabla</td> 
    </tr> 
    <tr id="second" runat="server"> 
     <td>&nbsp;</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) 
+0

我確定了,對不起。那麼如何在服務器端更改訂單? – 2010-11-19 19:06:03

+0

@Downvoter - 謹慎解釋? – Oded 2010-11-19 19:08:12

+0

@Stewie格里芬 - 答案更新,以示例。 – Oded 2010-11-19 19:19:32

2

由於這是靜態標記,而不是一個服務器側控制(標記都沒有被設爲runat="server"),服務器側C#代碼無法修改它們。