背景:我有一個winForm應用程序,基於表單中提供的用戶輸入在數據庫中註冊用戶,自動生成一個隨機密碼和用戶名,並通過電子郵件向用戶發送一個鏈接,以根據所選營銷公司提交申請。ASP.NET w/VB.NET - MultiSelect on ListBox或CheckBoxList w/AutoPostback啓用
問題: 我得到捆綁列表框來填充w/autopostback設置爲true,但捆綁列表框只要你點擊一個lbcarrier就填充,它不允許你選擇多個運營商。
對於如何允許多選與回發功能有關嗎?
這裏的界面截圖:上Default.aspx的
代碼:
<td class="style1">
Carriers:</td>
<td bgcolor="#ffffff" class="style2">
<asp:ListBox AutoPostback="true" ID="lbCarriers" runat="server" Height="86px" Width="250px">
</asp:ListBox>
</td>
</tr>
<td class="style1">
Bundles:</td>
<td bgcolor="#ffffff" class="style2">
<asp:ListBox ID="bundles" runat="server" Height="86px" Width="250px">
</asp:ListBox>
</td>
</tr>
代碼上default.aspx.vb:
Protected Sub lbCarriers_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles lbCarriers.SelectedIndexChanged
Dim splt() As String
Dim ac1 As Array
bundles.Items.Clear()
Dim item As ListItem = lbCarriers.SelectedItem
splt = item.ToString().Split("|")
ac1 = proxy.GetContractingBundles("test", "test", Trim(splt(0)))
For Each Pitem In ac1
bundles.Items.Add(Trim(splt(2)) & " | " & Pitem.FormBundleName)
Next
End Sub
爲尋找謝謝!
我不認爲有一個簡單的方法來做到這一點。控制器無法知道他們正在選擇項目。您可能會將'autopostback = false'並掛上自己的javascript代碼,以便在文本框失去焦點時進行回發。我認爲這對於用戶體驗來說並不理想。或者,您可以使用AJAX來填充下一個文本框,但這當然會增加很多開銷。最後,您可能可以讓您的文本框成爲包含您的下一個文本框的更新面板的觸發器。 – Prescott 2011-04-12 14:22:04