Я бы предложил использовать стандартные библиотечные контейнеры:
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
если фиксированный размер во время компиляции.
На Вашей 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" ни на "Один".
Предыдущие ответы имеют дело со вставкой значения, но я понимаю, что Вашей проблемой является свойство AutoPostBack. Я предполагаю, что Вы не хотите к обратной передаче, которые оценивают, и это - Ваша проблема, действительно ли я прав?
Возможно, существует лучшее решение, но я предложил бы не использовать AutoPostBack. Вы могли обработать обратную передачу автоматически с помощью выбранного события изменения значения.
По моему скромному мнению, если AutoPostBack не работает, как Вы хотите, всегда лучше реализовать Ваше собственное решение что поместить некоторый "патч" по нему для "зафиксированного" его.
Надежда, которая помогает
Можно также добавить строку вручную через разработчика, но необходимо удостовериться, что свойство AppendDataBoundItems DropDownList = Верный также так, чтобы связанные с данными строки были прикреплены на первую строку.
Используйте метод вставки, поскольку другие предложили добавить объект в индексе 0 со значением для указания не выбранный (например, 'неизвестный'). Затем используйте блоки проверки допустимости, добавьте блок проверки допустимости обязательного поля и установите свойство InitialValue на значение нового элемента списка ('неизвестный' в нашем примере).
Индекс 0 набора, чтобы быть выбранным пунктом на странице загружается и если не обратная передача.
Если пользователь не выберет другую опцию, то блок проверки допустимости предотвратит обратную передачу.
Надежда это - то, что Вы ищете.