2013-07-25 16 views
14

Mam kontrolę ASP.NET powiedzieć wyboru:Jak dodać niestandardowe atrybuty kontroluje ASP.NET

<asp:CheckBox ID="myChck" runat="server" Value="myCustomValue" /> 

Czy to możliwe, aby dodać ten zwyczaj Value atrybut z opóźnieniem kodu i odpowiednio uzyskać wartość z Value

coś jak (psuedocode):

myCkck.Value = "blq blq"; 
string chckValue = myChck.Value; 

Jak mogę to zrobić?

+0

Czy potrzebujesz go w widoku siatki? – kobe

+0

@kobe w tym przypadku - nie. Dlaczego jaka byłaby różnica? –

+0

Skieruj witrynę MS, aby dowiedzieć się więcej 'http://msdn.microsoft.com/en-us/library/7a9d6h4f (v = vs.100) .aspx' –

Odpowiedz

24

To całkiem możliwe:

myCkck.Attributes.Add("Value", "blq blq"); 

string chckValue = myChck.Attributes["Value"].ToString(); 
+0

Dziękuję. To działa. Używałem kilku razy i miałem pewne problemy z utrzymującymi się wartościami niestandardowych atrybutów, aby zobaczyć stan lub coś w tym stylu. Naprawdę nie pamiętam, jaki był problem, ale nadal mam pewne obawy, gdy używam tych metod. W każdym razie wydaje mi się, że działa to dla mnie. –

3

Można by stworzyć nową klasę, która dziedziczy z klasy CheckBox (lub jakąkolwiek inną klasę sterowania dla tej sprawy) i dodawać żadnych dodatkowych właściwości musisz klasie pochodnej. W ten sposób uzyskasz rozszerzony CheckBox mniej więcej.

public class ExtendedCheckBox : CheckBox 
{ 
    public string Value 
    { 
     get; 
     set; 
    } 

    public ExtendedCheckBox : base() 
    { 

    } 
} 
Powiązane problemy