Name des Steuerelements in TextBoxFor in MVC3

7

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.

    
iCode 03.08.2011, 02:14
quelle

5 Antworten

21
%Vor%

Verwenden Sie einfach "Name" anstelle von "Name"

    
u_1958148 15.04.2013 14:30
quelle
4

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.

    
Jesse Webb 29.02.2012 15:53
quelle
1

Verwenden Sie TextBox statt TextBoxFor

%Vor%     
alalmakt 08.08.2013 05:22
quelle
0

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

    
PedroC88 03.08.2011 02:17
quelle
0

TextBoxFor lässt nicht zu, dass das name-Attribut gesetzt wird. Diese Problemumgehung:

%Vor%

Ausgänge:

%Vor%     
Fernando Correia 20.08.2012 14:32
quelle

Tags und Links