Ist es möglich, das name-Attribut von einem Text-Boxt zu steuern, wenn Sie TextBoxFor verwenden?
diesen Code in der Ansicht
%Vor%erzeugt dies
%Vor%, aber ich möchte nicht, dass mein Eingabe-Name "SearchParams.someParam" ist, und ich wollte, dass etwas wie
ist %Vor%wo MyPreferedName von einigen Attributen der .SearchParams.someParam in dem entsprechenden Modell stammt.
Ist das möglich? Ich weiß @ Html.TextBox tut es, aber ich möchte den Namen in der Ansicht nicht fest codieren.
Es scheint so, als ob die Methode TextBoxFor
nicht Ihnen erlaubt, den Schlüssel @name
als htmlAttribute zu verwenden. Dies ist ein wenig sinnvoll, denn wenn Sie das HTML-Namensattribut überschreiben können, wird der Wert nicht korrekt in einem Formular POST an Ihr Modell gebunden.
Anstelle von ...
%Vor%Ich musste am Ende benutzen ...
%Vor%Ich bin mir nicht ganz sicher, warum die erste Option nicht funktioniert, aber hoffentlich hilft es dabei.
Funktioniert das nicht?
@Html.TextBoxFor(m => m.SearchParams.someParam, new { id="my_id" })
, obwohl es in Ihrem speziellen Fall eher wie folgt aussieht:
@Html.TextBoxFor(m => m.SearchParams.someParam, new { name = "MyPreferedName" })
Hier finden Sie die verschiedenen Überladungen für den Konstruktor der InputExtensions. TextBoxFor in MVC3
TextBoxFor
lässt nicht zu, dass das name-Attribut gesetzt wird. Diese Problemumgehung:
Ausgänge:
%Vor%Tags und Links asp.net-mvc-3