微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 如何使用ListItems初始化DropDownList

我正在尝试初始化DropDownList,这是我的select方法

public List<ListItem> metodShownAbove()
{
    List<ListItem> initlist = new List<ListItem>();
    if (!IsPostBack)
    {
        initlist.Add(new ListItem("--- all---","-1"));
        initlist.Add(new ListItem("text1","Value1"));
        initlist.Add(new ListItem("text2","Value2"));
        initlist.Add(new ListItem("text3","Value3"));
    }
    return initlist;
}

这是在我的aspx页面上:

<asp:DropDownList ID="DDL" runat="server" AutopostBack="True" 
    SelectMethod="metodShownAbove"/>

initlist返回我想要返回的内容,文本和值,如上所示.但是当我尝试获取所选值或文本DDL.SelectedItem.Value和DDL.SelectedItem.Text时,它是相同的值,是ListItem initlist中的第一个值. DDL中没有包含“Value1”的属性.我做错了什么,如何正确插入值,以便我可以读取,值和文本?

解决方法

您必须将DropDownList的DataValueField设置为ListItems的Value属性

<asp:DropDownList ID="DDL" runat="server" DataTextField="Text" DataValueField="Value" ... />

在这里,我还将DataTextField设置为项目的Textproperty.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐