Привязка данных Dropdownlist внутри detailsview в asp.net

У меня есть detailsview, который будет использоваться, чтобы отредактировать потребительские отчеты. В этом detailsview у меня есть dropdownlist, который показывает список стран.

У меня есть стол под названием CountryList, который населит список стран к вышеупомянутому dropdownlist.

Пользователь может отредактировать и сохранить данные без любой проблемы.

Но, предположите, что потребительскому отчету выбрали страну как "Австралию" и если я удаляю Австралию из CountryList и пытаюсь отредактировать клиента в представлении деталей, я добираюсь ниже ошибки.

SelectedValue which is invalid because it does not exist in the list of items

Я знаю причину потому что

SelectedValue='<%# Bind("Country") %>' 

и это не может найти его в списке.

Таким образом, мой вопрос, как преодолеть эту проблему?

После поиска сети я нашел, что могу отвергнуть Databind, но я не уверен, как сделать это. Понятия не имейте, как отвергнуть, и кто-то может, пожалуйста, дать мне пример кода?

Также есть ли решение для этого те, которые утверждают его, прежде чем установлено?

Спасибо.

1
nl ja de
используйте этот SelectedValue = '
добавлено автор शेखर, источник
Почему вы не поддержали бы ограничения внешнего ключа, когда вы удаляете данные? Кажется, что вы избегаете первопричины и пытаетесь зафиксировать признак.
добавлено автор nunespascal, источник

2 ответы

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

SelectedValue='<%# CheckCountry(Eval("Country"))%>'

в aspx.cs файле создают функцию следующим образом, которая проверит, является ли страна, существуют в списке или не, если это не там, тогда покажет значение по умолчанию, как отобрано

public string CheckCountry(string country)
{
  //add your logic to check contry in list 
  // and return value as per result if it is exist
  //return country name else return default value
}
0
добавлено
Я уже попробовал это, но это - два способа связать так, я должен использовать, Связывают вместо Оценки, которая не будет работать и бросать ошибку...
добавлено автор BenW, источник

Попытайтесь проверить существование страны в вашем списке (таблица данных, DataSet и т.д.) перед закреплением, некоторой вещью как

DataTable dtPs=getAvailableCountries();
string countryName = "Australia";
DataRow foundRow = dtPs.Rows.Find(countryName);
if(foundRow != null) {
 //You have it ...
 bindTheDropdown();
}else{
 //You dont have it ...
 dontBindTheDropdown();
}
0
добавлено
Можно ли, пожалуйста, сказать мне, куда точно я должен поместить этот код и назвать его? Это в detailsview и в can' t выясняют, где добавить код. Также обратите внимание, что это - двухстороннее закрепление, так должны использовать, Связывают..
добавлено автор BenW, источник
хорошо, вы - retieving, и экономия DB оценивает (страны) в набору результатов (таблица данных, набор данных и т.д.) и закрепление в к dropdownlist, поместите этот код перед этим закреплением.
добавлено автор sajanyamaha, источник
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)