#c# #asp.net
#c# #asp.net
Вопрос:
У меня есть другие проблемы, и я не могу их решить.
В ASP.NET У меня есть объект DropDownList, который берет данные из общего списка. В ASP.NET страница
<tr><td>Choose category</td>
<td><asp:DropDownList id="list_categories" runat="server"></asp:DropDownList></td>
<td>
<asp:RequiredFieldValidator ControlToValidate="list_categories" runat="server" Display="Static" ErrorMessage="Select category" ID="verify_category" ValidationGroup="add_link_group">
</asp:RequiredFieldValidator></td></tr>
и код, лежащий в основе :
private void generate_select( DropDownList select ) {
BusinessLayerArcht layer = LoadDataFromBL();
foreach ( CategoriesCtrlDto cto in layer.Categories ) {
select.Items.Add( cto.Name );
}
}
и Page_Load
generate_select( list_categories );
Я пробовал с помощью Clear(), но когда я добавил новую ссылку в выбранную категорию, она будет вставлена в первую категорию
Если я не позвоню.Функция Clear () затем вставка в порядке, но после обновления страницы список содержит повторяющиеся категории
Изначально у меня был GMail YMail AOL
после вставки новой ссылки или другого события, которое обновляет страницу, список будет отображаться как: GMail YMail AOL GMail YMail AOL
Если я обновлю страницу четыре раза, в списке появится GMail YMail AOL GMail YMail AOL GMail YMail AOL GMail YMail AOL GMail YMail AOL
Повторяется четыре раза, поэтому он дублируется при каждой обратной передаче или обновлении страницы. Я попытался также очистить кеш, если (Page.isPostBack)
Ответ №1:
Вы должны сделать
if(!Page.IsPostBack)
generate_select(list_categories);
!Page.IsPostBack
==> если НЕ является обратной отправкой. Если вы выполняете код при каждой обратной передаче, он будет вставлять повторяющиеся записи