7 Stimmen

Verweis auf die ID eines Steuerelements, das mit TextBoxFor() erstellt wurde

Ich bin liebevoll ASP.NET MVC, auf dem Laufenden zu bleiben mit den Releases/Docs kann manchmal schwierig sein, so vielleicht bin ich einfach nicht etwas zu bekommen ... Ich möchte eine TextBoxFor() zu verwenden, und die Arbeit mit LabelFor() etc. ist in Ordnung, die ganze Magie geschieht für mich.

Aber wenn ich eine...

 <%=Html.TextBoxFor(x => x.LastName) %>

Und wollte etwas nettes mit jQuery zu tun, wie würde ich die ID des Steuerelements erhalten, die erstellt wurde? Ich könnte eine CSS-Klasse hinzufügen und verwenden, dass meine jQuery anhängen, aber für etwas, das ich tue, würde ich gerne die ID... so könnte ich etwas tun wie:

 $('#LastName').(...)

Ich weiß, dass ich es in diesem Fall herausfinden und manuell einhacken könnte, aber gibt es einen besseren Weg?

1 Stimmen

Funktioniert das nicht? Wenn ich es ausprobiere, scheint es die ID so zu generieren, wie ich es erwarte, dass sie benannt wird. Wenn Sie sich den HTML-Quelltext der Seite ansehen, wie lautet Ihre TextBoxFor() ausgeben?

0 Stimmen

Dies funktioniert und generiert die ID, die Sie erwarten würden, aber ich denke, dass, wenn das Framework es für ein Textfeld ausarbeiten kann, es in der Lage wäre, es an anderen Stellen ausarbeiten.

12voto

bruno conde Punkte 47059

Ich denke, Sie können so etwas tun:

<%=Html.TextBoxFor(x => x.LastName, new { id = "LastName" })%>

Überladungen von TextBoxFor

7voto

Alex Klaus Punkte 7205

Seit MVC4 gibt es eine eingebaute Möglichkeit, dies zu tun - @Html.IdFor() .

Hier ist ein Beispiel es zu benutzen:

@Html.IdFor(m => m.Filters.Occurred.From)

und das Ergebnis ist wie

Filters_Occurred_From

0voto

Rich Linnell Punkte 933

Interessanterweise scheint der Html.Textbox()-Code eine ID zu generieren, die den Namen des Steuerelements für alles dupliziert, was mit einem Buchstaben (a-z) beginnt. Wenn Ihr "Name" jedoch mit einer Zahl beginnt, wird er sich einfach nicht darum kümmern.

Dies ist eine fantastische "Funktion", die mir in den letzten Stunden viel Kummer bereitet hat.

-1voto

Standardmäßig ist Ihr Steuerelement id Ihre Modellbindung Wert, Sie können auch einfach Firebug verwenden. wählen Sie das Steuerelement und erhalten standardmäßig Steuerelement id.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X