Как я добавляю, что пустая первая запись делает <asp:DropDownList>?

Я бы предложил использовать стандартные библиотечные контейнеры:

class Foo{
   public:
     Foo(int, const std::vector& vv ) : v(vv) 
     {
       // other stuff here
     }

     std::vector v;
};

Вы можете передавать значения таким образом, используя агрегатную инициализацию :

int main()
{
    Foo f( 1, {1.1,1.2,1.3} );
}

Или использовать [114 ] std::array если фиксированный размер во время компиляции.

11
задан vitule 16 January 2009 в 18:21
поделиться

4 ответа

На Вашей aspx странице (важная часть обрабатывает событие DataBound и установку CausesValidation = "верный" для принуждения проверки выпадающего списка):

<asp:DropDownList ID="ddlCountries" runat="server" DataSourceID="dsCountries" AutoPostBack="true" OnDataBound="ddlCountries_DataBound" CausesValidation="true" />
<asp:RequiredFieldValidator ID="rfvCountries" runat="server" ControlToValidate="ddlCountries" Display="Dynamic" ErrorMessage="Please select a country." />

В Вашем codebehind (важно, чтобы значение вставленного объекта было Строкой. Пустой, чтобы блок проверки допустимости обязательного поля работал!):

protected void ddlCountries_DataBound(Object sender, EventArgs e)
{
ddlCountries.Items.Insert(0, new ListItem("--- select country ---", String.Empty));
}

Примечание: Если Вы не хотите, чтобы сообщение блока проверки допустимости отобразилось, установите свойство "Display" ни на "Один".

16
ответ дан 3 December 2019 в 05:36
поделиться

Предыдущие ответы имеют дело со вставкой значения, но я понимаю, что Вашей проблемой является свойство AutoPostBack. Я предполагаю, что Вы не хотите к обратной передаче, которые оценивают, и это - Ваша проблема, действительно ли я прав?

Возможно, существует лучшее решение, но я предложил бы не использовать AutoPostBack. Вы могли обработать обратную передачу автоматически с помощью выбранного события изменения значения.

По моему скромному мнению, если AutoPostBack не работает, как Вы хотите, всегда лучше реализовать Ваше собственное решение что поместить некоторый "патч" по нему для "зафиксированного" его.

Надежда, которая помогает

0
ответ дан 3 December 2019 в 05:36
поделиться

Можно также добавить строку вручную через разработчика, но необходимо удостовериться, что свойство AppendDataBoundItems DropDownList = Верный также так, чтобы связанные с данными строки были прикреплены на первую строку.

5
ответ дан 3 December 2019 в 05:36
поделиться

Используйте метод вставки, поскольку другие предложили добавить объект в индексе 0 со значением для указания не выбранный (например, 'неизвестный'). Затем используйте блоки проверки допустимости, добавьте блок проверки допустимости обязательного поля и установите свойство InitialValue на значение нового элемента списка ('неизвестный' в нашем примере).

Индекс 0 набора, чтобы быть выбранным пунктом на странице загружается и если не обратная передача.

Если пользователь не выберет другую опцию, то блок проверки допустимости предотвратит обратную передачу.

Надежда это - то, что Вы ищете.

0
ответ дан 3 December 2019 в 05:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: