C # (ASP.Net) Conectarea valorilor de selecție la constantele din Codebehind

Codul 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?

Știu că pot face rbServer.Add.Item ("dezvoltator") [de la CodeBehind], dar există o modalitate de ao realiza din partea de prezentare a lucrurilor?

4
Lipsesc niște informații aici? Corectați codul ASPX!
adăugat autor Torbjørn, sursa

4 răspunsuri

Ar fi:

rbServer.Items.Add(ServerDeveloper)

Ok, de vreme ce vrei să o faci din prezentare ... Este posibil, dar oribil urât:

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

    Blah

</div>

Rețineți că blocul de cod trebuie să fie de mai sus marcajul - dacă îl puneți mai jos, nu pare să funcționeze. Rețineți, de asemenea, că const va trebui protejată pentru ca pagina să aibă acces la ea. Acest lucru se simte grozav ca un hack pentru mine, dar acolo este.

3
adăugat
Sunt de acord că codul inline este urât. M-am așteptat ca <% = ... să lucreze. Mulțumiri
adăugat autor Jason V, sursa
Cu toate acestea, are "detaliul" frumos de a folosi constanta in ambele arene.
adăugat autor Jason V, sursa

În cele mai multe cazuri, adaugă ListItems la listă în codebehind, nu în marcaj. Cred că vă va rezolva problema (chiar dacă cred că ne lipsesc câteva informații aici). Creați noi elemente ListItems și adăugați-le în colecția de articole a lui rbServer.

0
adăugat

În retrospectivă, soluția cea mai bună ar fi să o adăugăm din codul de cod folosind rbServer.Items.Add ()

0
adăugat
Nu sunt de acord, dacă sunt valori constante, este mai ușor să le pună în aspx, deoarece atunci când generează fișiere de resurse, ele sunt generate automat în resx. Dacă le adăugați în coduri, trebuie să conectați manual intrările de resurse cu GetLocalResoureObject() ...
adăugat autor Peter, sursa

In general, incerc sa evit controlul RadioButtonList pentru motivul pe care l-ati postat. Deși nu am venit cu o alternativă ușor de folosit :(

0
adăugat