[英]Get client side HTML changes on postback
我想使用javascript將行添加到表中,但是我也希望能夠找出這些行在回發時的內容。 有沒有辦法做到這一點?
我還希望能夠從服務器填充表中的原始行(我在考慮使用中繼器)。 還有可能這樣做嗎?
這不是很多描述,但我認為涵蓋了...
該代碼目前看起來像這樣
<table id="myTable">
<tr> <td> some static row </td> </tr>
<asp:repeater id="rptTest" runat="server">
<HeaderTemplate>
<tr class="dgheader">
<th> head1 </th>
<th> head2 </th>
<th></th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class="<%# (Container.ItemIndex%2 == 0) ? "dgitem" : "dgalternatingitem" %>">
<td><%# Eval("val1") %> </td>
<td><%# Eval("val2") %> </td>
<td><a class="dgdeletebutton" href="javascript:delete(this)"></a></td>
</tr>
</ItemTemplate>
</asp:repeater>
</table>
目前,我想知道的是,在服務器端,我如何獲得具有對客戶端所做的任何更改的表的版本。
為了以您描述的方式從客戶那里獲取任何信息,您需要在表單提交中包含一個字段。
您可能需要隱藏字段。 每次添加行時,要么為要捕獲的每個值(例如val1和val2)添加一個隱藏字段,要么有一個隱藏字段,然后在添加行時,將所需信息附加到現有行上。
我警告不要發布直接的html,您可能只需要值而不是完整的標記,並且您很可能不想清理html並解析所需的信息。
因此,為使您早日入門,您可以添加隱藏的輸入:
<tr class="<%# (Container.ItemIndex%2 == 0) ? "dgitem" : "dgalternatingitem" %>">
<input type="hidden" name="Row[1].val1" value="myvalue" />
<td><%# Eval("val1") %> </td>
<input type="hidden" name="Row[1].val2" value="myvalue" />
<td><%# Eval("val2") %> </td>
<td><a class="dgdeletebutton" href="javascript:delete(this)"></a></td>
</tr>
然后,您可以在后端獲取提交的值:
HttpContext.Current.Request.Form["Row[1].val1"]
這是來自內存,上面的行可能不正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.