C # (ASP.Net) Связывание значений выбора с константами в Codebehind

Код ASPX

    Developer  dev.test.com
    staging.test.com

ASPX.CS - Codebehind

const string ServerDeveloper = "developer";

ASPX Error: Code blocks are not supported in this context.

Question: So what is the correct way to tie an dropdown/radio buttion/... ASPX value to a constant that is shared with the CodeBehind code?

Я знаю, что я мог бы делать rbServer.Add.Item («разработчик») [из CodeBehind], но есть ли способ достичь этого с точки зрения презентации?

4
Не хватает ли здесь какой-либо информации? Исправьте код ASPX!
добавлено автор Torbjørn, источник

4 ответы

Будет ли это:

rbServer.Items.Add(ServerDeveloper)

Хорошо, так как вы хотите сделать это из презентации ... Это возможно, но ужасно уродливо:

<div>
<% rbServer.Items.Add(new ListItem("Dev", ServerDeveloper)); %>

    Blah

</div>

Обратите внимание, что блок кода должен быть выше разметки - если вы укажете его ниже, это, похоже, не сработает. Также обратите внимание, что const должен быть защищен, чтобы страница могла получить к нему доступ. Это ужасно похоже на взломать меня, но вот оно.

3
добавлено
Я согласен, что встроенный код уродливый. Я просто ожидал, что
добавлено автор Jason V, источник
Тем не менее, он имеет приятную «детальность» использования константы на обеих аренах.
добавлено автор Jason V, источник

В большинстве случаев я добавляю ListItems в List в codebehind, а не в разметку. Я предполагаю, что это решит вашу проблему (хотя я думаю, что нам не хватает информации здесь). Создайте новые ListItems и добавьте их в коллекцию элементов rbServer.

0
добавлено

В ретроспективе лучшим решением было бы добавить его из кода с помощью rbServer.Items.Add ()

0
добавлено
Я не согласен, если они являются постоянными значениями, проще их помещать в aspx, потому что при создании файлов ресурсов они автоматически генерируются в resx. Если вы добавите их в код, вам нужно будет вручную связать ресурсы с GetLocalResoureObject() ...
добавлено автор Peter, источник

Обычно я стараюсь избегать элемента управления RadioButtonList по той причине, что вы опубликовали. Хотя я не придумал простой в использовании вариант :(

0
добавлено
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)