C# 如何获取多选下拉列表项?
我使用FineUI DropDownList控件,该DropDownList是EnableMultiSelect。在“显示所选项目”按钮的单击事件中,我想显示所选项目信息。在我的代码中,显示了一个问题: 无法将类型'FineUI.ListItem'转换为 “Systm.Web.UI.WebControl.ListItem” 如何解决 按钮单击代码如下所示:C# 如何获取多选下拉列表项?,c#,asp.net,asp.net-web-api,C#,Asp.net,Asp.net Web Api,我使用FineUI DropDownList控件,该DropDownList是EnableMultiSelect。在“显示所选项目”按钮的单击事件中,我想显示所选项目信息。在我的代码中,显示了一个问题: 无法将类型'FineUI.ListItem'转换为 “Systm.Web.UI.WebControl.ListItem” 如何解决 按钮单击代码如下所示: protected void btnGetSelection_Click(object sender, EventArgs e) {
protected void btnGetSelection_Click(object sender, EventArgs e)
{
string result="Selected informations:";
if (DropDownList1.SelectedItem != null)
{
foreach (ListItem item in DropDownList1.SelectedItemArray)
{
result = result + item.Value;
}
labResult.Text = result;
}
else
labResult.Text = "No SelectedItem";
}
页面源代码:
<FineUI:pagemanager ID="PageManager1" runat="server" />
<FineUI:simpleform ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableCollapse="true"
ShowBorder="True" Title="Simple DropdownList(AutoPostBack)" ShowHeader="True">
<Items>
<FineUI:DropDownList ID="DropDownList1" EnableMultiSelect="true" EnableEdit="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true" runat="server" Label="试验:">
</FineUI:DropDownList>
<FineUI:Button runat ="server" Text="Select[item6]" OnClick="btnSelectItem6_Click" CssClass="marginr" ></FineUI:Button>
<FineUI:Button Text="Show Selected Items" OnClick="btnGetSelection_Click" runat="server" ></FineUI:Button>
</Items>
</FineUI:simpleform>
<FineUI:label runat="server" ID="labResult"></FineUI:label>
您的问题在于类型转换。您的控件具有
FineUI.ListItem
,您正试图将其转换为Systm.Web.UI.WebControl.ListItem
。在foreach循环中,必须更正类型
protected void btnGetSelection_Click(object sender, EventArgs e)
{
string result="Selected informations:";
if (DropDownList1.SelectedItem != null)
{
foreach (FineUI.ListItem item in DropDownList1.SelectedItemArray)
{
result = result + item.Value;
}
labResult.Text = result;
}
else
labResult.Text = "No SelectedItem";
}
在使用ListItem
foreach的循环中(DropDownList中的ListItem 1.SelectedItemArray)
C将ListItem
处理为Systm.Web.UI.WebControl
中的ListItem,但DropDownList 1.SelectedItemArray
是一个数组,其中包含FineUI
中的ListItems
因此,您有两个名为ListItem
的类,而C#会“混淆”。
您可以通过添加类的路径稍微更改for循环来解决这个问题
foreach (FineUI.ListItem item in DropDownList1.SelectedItemArray)
我检查了FineUI的文档,ListItems具有您在循环中使用的值和文本成员,因此不需要进一步更改。我知道了。谢谢你的帮助!谢谢你的帮助!我用你的方法解决了这个问题。谢谢你帮我编辑这个问题!