1
基於文本框「自動完成」功能,用戶可以在結果列表中進行選擇,然後用戶將選擇其中一個結果並將其添加到「籃子」中,用戶執行多個快速搜索,並添加或刪除這個籃子裏的物品。提交後丟失表格的jQuery DOM操作
目前我已經使用表格作爲「籃子」。一旦用戶對籃子滿意,用戶將籃子提交給服務器,並且服務器通過籃子循環並更新數據庫。
我想用jQuery來操作表格,問題是一旦回發發生,DOM操作被刪除。
該表格如下所示。
<asp:Table ID="Basket"
runat="server"
EnableViewState="False">
<asp:TableHeaderRow TableSection="TableHeader">
<asp:TableHeaderCell>ID</asp:TableHeaderCell>
<asp:TableHeaderCell>Name</asp:TableHeaderCell>
<asp:TableHeaderCell>Quantity</asp:TableHeaderCell>
</asp:TableHeaderRow> </asp:Table>
與jQuery我可以修改表,添加行,刪除它們,一切都很好,花花公子。然後,我要通過我的表中的行中的按鈕i循環的Click事件提交按鈕
<asp:Button ID="Button1" runat="server" Text="Submit" onclick="Button1_Click" />
foreach (TableRow row in this.Basket.Rows)
{
if (row.TableSection != TableRowSection.TableBody) { continue; }
}
這就是問題的所在,該表將重置爲初始狀態只包含1行。考慮到我禁用了ViewState,我會認爲控件會模仿發佈的內容。但顯然有些東西使它重置。
意圖是創建僅頁面上的「菜籃子」,並進行批量提交,一旦提交該項目的ID和數量被存儲在服務器端,這將防止不斷的顫音,並使用戶界面更像桌面,如 – thmsn 2011-04-04 07:31:40
是的。我同意那個。 JS是一種客戶端技術,您需要實現JS客戶端代碼和服務器端代碼之間的通信。如果您沒有以某種方式將更新提交給服務器端,它如何知道? HTTP是一個斷開的協議。 – 2011-04-04 07:33:17
你可以這樣做,它是迄今不是唯一的方法做到這一點,但: 我會將值添加到隱藏字段(在JSON中)並解析它的服務器端。 – 2011-04-04 07:35:18