[javascript]从 VB 中的 CheckComboBox 捕获“ID”
· 收录于 2024-01-06 16:54:06 · source URL
问题详情
我正在使用此控件: https://demos.devexpress.com/aspxeditorsdemos/ASPxDropDownEdit/CheckComboBox.aspx
我目前在js中有这个:
var textSeparator = ";";
function updateText() {
var selectedItems = listbox_destinatarios.GetSelectedItems();
dropdownedit_dest.SetText(getSelectedItemsText(selectedItems));
}
function synchronizeListBoxValues(dropDown, args) {
listbox_destinatarios.UnselectAll();
var texts = dropDown.GetText().split(textSeparator);
var values = getValuesByTexts(texts);
listbox_destinatarios.SelectValues(values);
updateText(); // for remove non-existing texts
}
function getSelectedItemsText(items) {
var texts = [];
for (var i = 0; i < items.length; i++)
texts.push(items[i].text);
return texts.join(textSeparator);
}
function getValuesByTexts(texts) {
var actualValues = [];
var item;
for (var i = 0; i < texts.length; i++) {
item = listbox_destinatarios.FindItemByText(texts[i]);
if (item != null)
actualValues.push(item.value);
}
return actualValues;
}
在 HTML 中:
<dx:ASPxDropDownEdit ID="dropdownedit_dest" ClientInstanceName="dropdownedit_dest"
runat="server" Width="100%" EncodeHtml="false" ReadOnly="true" Required="true">
<DropDownWindowStyle BackColor="#EDEDED" />
<DropDownWindowTemplate>
<dx:ASPxListBox ID="listbox_destinatarios" runat="server" Height="200px"
ClientInstanceName="listbox_destinatarios" Width="100%"
ItemStyle-SelectedStyle-BackColor="WhiteSmoke"
ItemStyle-SelectedStyle-ForeColor="Black" SelectionMode="CheckColumn
AutoPostBack="false" ItemStyle-Font-Size="Small" Font-Size="Small"
EnableSelectAll="true"><%----%>
<FilteringSettings ShowSearchUI="false" />
<Border BorderStyle="None" />
<BorderBottom BorderStyle="Solid" BorderWidth="1px" />
<ClientSideEvents SelectedIndexChanged="updateText" Init="updateText" />
</dx:ASPxListBox>
</DropDownWindowTemplate>
<ClientSideEvents TextChanged="synchronizeListBoxValues"
DropDown="synchronizeListBoxValues"/>
<ClientSideEvents Init="function(s, e) { validar_init(); }" />
<ValidationSettings ErrorTextPosition="Bottom"
ErrorFrameStyle-CssClass="pull-right" ErrorDisplayMode="Text">
<RequiredField IsRequired="true" />
</ValidationSettings>
</dx:ASPxDropDownEdit>
我正在尝试获取变量中的值 (ID) VB.net
所以:dropdownedit_dest。值.ToString()
但是,由于 Value
为我提供了文本而不是 ID,因此当我在 js 中检查值时,如果 id 存在,那么在 VB 中咨询时,它会在文本中显示我。
试过这个,但它不起作用:
Protected Sub Concatenar_Destinatarios()
Dim list_destinatarios As ASPxListBox =
CType(dropdownedit_dest.FindControl("listbox_destinatarios"), ASPxListBox)
If list_destinatarios.SelectedValues.Count > 0 Then
Dim seleccionados As New List(Of String)
For Each index As Integer In list_destinatarios.SelectedIndices
Dim selectedValue As String =
list_destinatarios.Items(index).Value.ToString()
seleccionados.Add(selectedValue)
Next
Dim concatenatedValues As String = String.Join(",", seleccionados.ToArray())
result = concatenatedValues
Else
Register_Error(_consulta._ErrorException)
Error 51
End If
End Sub
最佳回答
暂无回答