2013-07-04 6 views
11

Ich bin mitWie nur lesbar in C#

TextBox.ReadOnly = false; 

für Read-only machen Dropdownliste.

Wie kann ich es auf DropDownList beheben?

Ich benutze Aktiviert = false Eigenschaften wie ...

TextBox.Enabled = false; 
DropDownList.Enabled = false; 

aber nach, dass CSS-Klasse ruft nicht in dieser beide Kontrolle zur Laufzeit.

Bitte geben Sie mir irgendwelche Eigenschaften wie "ReadOnly".

+1

Eine readonly Dropdown-Liste kann auch eine Bezeichnung sein. Wenn Sie den Wert nicht ändern können, ist der Punkt. – Jodrell

+2

Eigentlich möchte ich so ... Wenn ich dieses Kontrollkästchen aktiviert, kann ich keinen Wert von einem Textfeld und Dropdown-Liste ändern. –

+0

Textfeld ist editierbar, so dass wir readonly verwenden, wenn nt wnt zu bearbeiten, aber Dropdown zur Laufzeit befüllen, keine editierbare, also keine readonly Eigenschaft dafür –

Antwort

12

Es gibt keine Nur-Lese-Eigenschaft für DropDownList in asp.net

Versuchen Sie es mit:

<asp:DropDownList ID="DropDownList1" runat="server" Enabled="False"> 
    </asp:DropDownList> 

Oder es zur Laufzeit ändern:

DropDownList1.Enabled=false; 

und ändern Sie es auch CSS-Klasse ist.

DropDownList1.CssClass = "class"; 
+1

Danke, es ist Arbeit, danke dir immer wieder, du sparst meine Zeit jeden meiner Formentwurf.:) –

+0

Sie sind herzlich willkommen;) –

+5

Es ist erwähnenswert, dass eine 'disabled' Dropdown-Liste nicht seine Daten für post_back berücksichtigt haben. Etwas, das bei schreibgeschützten Steuerelementen passiert. –

8

Ein anderer Weg:

-Code Behind: Fügen Sie einfach Attribut disabled

DropDownList1.Attributes.Add("disabled", "disabled"); 

Client Side:

$("#DropDownList1").attr("disabled","disabled"); 

JS FIDDLE

+0

Ich habe dies versucht, und es gibt mir den Standardwert des Dropdown, wenn ich versuche, es aus dem Codebehind abrufen. – Jack

3

ein Panel als mit aktiviert = "false" und Ihre Kontrolle gestellt innen:

<asp:Panel ID="pnlname" runat="server" Enabled="false"> 
    <asp:DropDownList ID="DropDownList1" runat="server"> 
    </asp:DropDownList> 
</asp:Panel> 
0

Als deaktiviert Dropdownlist-Daten nicht in Postbacks gelesen werden kann. Um diese Problemumgehung zu umgehen, deaktivieren Sie sie nicht, sondern löschen Sie zunächst die Dropdown-Liste und binden Sie dann nur das bereits ausgewählte Element.

ListItem item = DropDownList.SelectedItem; 
DropDownList.Items.Clear(); 
DropDownList.Items.Add(item); 
Verwandte Themen