asp:BulletedList中的AutoPostBack获取页面加载中的选定值

时间:2014-05-20 16:34:16

标签: c# asp.net

我有以下DropDownList:

    <asp:DropDownList ID="ssbl" runat="server" 
        DisplayMode="LinkButton" 
        OnSelectedIndexChanged="ApplyFilter"
        AutoPostBack="true"></asp:DropDownList>

效果很好;在选择时,页面会回发,并且在PageLoad期间可以使用所选项目的值。

我想要的是几乎完全相同的列表,它不会显示为下拉列表,也会在PageLoad期间使所选值可用。当我创建bulletedList控件并设置onClick事件(AutoPostBack不是BulletedList的属性)时,页面加载期间所选的值不可用。

是否可以使用不同的控件来复制DropDownList的功能,但只是以不同的方式显示列表?

2 个答案:

答案 0 :(得分:0)

您正在谈论ListBox控件。它的行为完全,如下拉控件(AutoPostBackOnSelectedIndexChanged) - 但会将所有项目显示为列表。

<asp:ListBox ID="ssbl" runat="server"
   DisplayMode="LinkButton"
    OnSelectedIndexChanged="ApplyFilter"
    AutoPostBack="true">

    <asp:ListItem>aaaaaaaaaa</asp:ListItem>
    <asp:ListItem>bbbbbbbbbb</asp:ListItem>
    <asp:ListItem>cccccccccc</asp:ListItem>
    <asp:ListItem>dddddddddd</asp:ListItem>

</asp:ListBox>

enter image description here

答案 1 :(得分:0)

我最终使用了评论中建议的RadioButtonList,并使用CSS来隐藏项目符号。看起来比DataList控件稍微容易一点,而ListBox并没有像我想的那样尽可能多地控制设计。