none
Asp.net Web forms Dropdownlist не показывает выбранные элементы RRS feed

  • Вопрос

  • Подскажите пожалуйста. У меня возникла вот такая проблема.

    Я использую вот такой код:

    <asp:DropDownList ID="AC" runat="server"/>
    <p>Заголовок</p>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button ID="Button12" runat="server" Text="Кнопка1" onclick="Button1_Click12" />
            <asp:Label ID="PostState" runat="server"></asp:Label>
    <asp:Table ID="CT" runat="server">
        <asp:TableHeaderRow runat="server" ForeColor="Red">  
                    <asp:TableHeaderCell>Столбец1</asp:TableHeaderCell>  
                    <asp:TableHeaderCell>Столбец2</asp:TableHeaderCell>  
                    <asp:TableHeaderCell>Столбец3</asp:TableHeaderCell>  
                    <asp:TableHeaderCell>Столбец4</asp:TableHeaderCell>  
                    <asp:TableHeaderCell>Столбец5</asp:TableHeaderCell>
                </asp:TableHeaderRow>  
        
    </asp:Table>
             </ContentTemplate>
     </asp:UpdatePanel>   

    На сервере:

    protected void Button1_Click12(object sender, EventArgs e)
        {
            string certHash = AC.SelectedItem.Value//у меня тут пусто
        }

    Хотя на клиентской части выбрано значение в дропдаунлисте, но все равно на серверной части null, и Index=-1. Посмотрел Fiddler'ом, отправляеться Post-запрос а в нем и данные дропдауна 

    1. ctl00$tpCB$CeBS$AC: Value1
    2. В чем может быть проблема???

    7 июня 2014 г. 14:37

Ответы

  • Это так и должно быть, в целях безопасности сохраняется состояние представления. Прямого решения нет, есть костыли. Но если у вас возникает подобная проблема, то дело скорее всего не в ограничениях ASP.NET, а в подходе. Так как выпадающие списки хранят обычно заранее предопределённые значения, а для динамически добавляемых данных возможно требуются другие элементы.

    Сделаем содержимое сообщества лучше, вместе!

    • Помечено в качестве ответа xilinx123 10 июня 2014 г. 16:48
    8 июня 2014 г. 19:18
    Модератор

Все ответы

  • Забыл сказать, что DropDownList у меня изначально пустой, он заполняется яваскриптом на клиенте. Не знаю почему сервер не видит этих данных
    7 июня 2014 г. 16:34
  • Это так и должно быть, в целях безопасности сохраняется состояние представления. Прямого решения нет, есть костыли. Но если у вас возникает подобная проблема, то дело скорее всего не в ограничениях ASP.NET, а в подходе. Так как выпадающие списки хранят обычно заранее предопределённые значения, а для динамически добавляемых данных возможно требуются другие элементы.

    Сделаем содержимое сообщества лучше, вместе!

    • Помечено в качестве ответа xilinx123 10 июня 2014 г. 16:48
    8 июня 2014 г. 19:18
    Модератор
  • Это так и должно быть, в целях безопасности сохраняется состояние представления. Прямого решения нет,. Но если у вас возникает подобная проблема, то дело скорее всего не в ограничениях ASP.NET, а в подходе. Так как выпадающие списки хранят обычно заранее предопределённые значения, а для динамически добавляемых данных возможно требуются другие элементы.

    Сделаем содержимое сообщества лучше, вместе!

    спасибо за ответ, сделал другим способом это все. Но все равно почитать полезно. Спасибо еще раз
    10 июня 2014 г. 16:48