後,我有我試圖通過jQuery來填充,使用下面的代碼片段一個ASP.Net的ListBox:ASP.Net - <select>項目沒有被調回jQuery的填充列表
$("#MyList_btnAddAll").click(function(e) {
e.preventDefault();
$('#MyList_lstAll option').appendTo('#MyList_lstSelected');
});
的代碼有實際上兩個ListBoxes,一個是「源」,另一個是「目的地」。正如你可以看到上面的列表框是MyList_lstAll和MyList_lstSelected。這些在瀏覽器中作爲元素呈現,就像你所期望的那樣。
jQuery的是偉大的工作,項目從一個列表框移動到另一個時,DOM更新,但是當我後我的頁面時,回發不表示任何改變列表框。我知道有一些涉及jQuery和ASP.Net回發的問題,但是有人可能會指導我一些可能發生的事情,以及我如何才能使其工作?
[編輯]
按要求,這裏的一些更多的ASP.Net和HTML造成的。以下是在持有它們的ascx控件列表框和按鈕聲明:
<GLP:ListBox ID="lstAll" CssClass="LIST_BOX_MEDIUM" runat="server" SelectionMode="Multiple"/>
<asp:LinkButton ID="lnkAddAll2" CssClass="LIST_SELECT" runat="server" OnClick="btnAddAll_Click"/>
<GLP:ListBox ID="lstSelected" CssClass="LIST_BOX_MEDIUM" runat="server" SelectionMode="Multiple"/>
而生成的HTML:
<select class="LIST_BOX_MEDIUM" id="MyList_lstAll" multiple="multiple" name="MyList:lstAll" size="4">
<option value="641">Item1</option><option value="598">Item2</option>
</select>
<input type="submit" class="BUTTON_SMALL_N0_IMAGE" id="MyList_btnAddAll" value="Add All" name="MyList:btnAddAll" style="color: rgb(0, 0, 0);">
<select class="LIST_BOX_MEDIUM" id="MyList_lstSelected" multiple="multiple" name="MyList:lstSelected" size="4">
<option value="642">Item3</option><option value="599">Item4</option>
</select>
我知道了jQuery /列表框項的修改不會反映在ViewState中,但因爲它們在頁面發佈時在DOM中不會被包含在回發數據中,然後由它們各自的控件拾取?
請張貼在下拉列表中選擇HTML/ASP.NET來源 - 這可能是有益的,看看。 – 2010-08-27 19:18:47