Ändern der generierten ASP.Net-Formular-ID?

8

In meiner ASP.Net Seite habe ich

%Vor%

Jedes Mal, wenn das Markup generiert wird, wird es zu

%Vor%

Ist es möglich, festzulegen, was die generierte HTML-ID für das Formular ist?

    
Earlz 15.07.2010, 15:53
quelle

3 Antworten

12

Hinweis: Sie sehen "aspnetForm", weil Sie eine Masterseite verwenden.

Ich habe Ihre Lösung in diesem Thread gefunden ...

Ссылка

Kurz gesagt, das ist die Antwort von diesem Link:

Hier ist der verantwortliche Code für diesen Fehler:

%Vor%

Wie Sie sehen, gibt der UniqueID-Property "aspnetForm" zurück, wenn der Benennungscontainer sich von der aktuellen Seite unterscheidet (was bei der Verwendung einer Masterseite passiert). Diese Eigenschaft wird in das Namensattribut gerendert, das im Formular-Tag an den Client gesendet wird. Wenn Sie das wirklich benötigen, können Sie Ihr eigenes Formular erstellen, indem Sie von htmlform erben und dann die UniqueID-Eigenschaft oder die Name-Eigenschaft überschreiben (dies ist möglicherweise eine bessere Option).

Ein Beispiel für eine benutzerdefinierte HTMLForm-Klasse könnte wie folgt aussehen:

%Vor%

Hinweis: Sie können den Namen des Formulars natürlich von "f" in einen anderen Wert ändern oder einen dynamischen Wert, z. B. aus einer web.config-Datei, lesen.

und so benutzt

%Vor%     
Carter Medlin 15.07.2010, 16:04
quelle
4

Setzen Sie das Attribut "clientidmode" im Formular-Tag auf "static", um zu verhindern, dass das Framework es mit "aspnetForm" überschreibt. Das hat mich stundenlang verrückt gemacht.

    
parliament 11.01.2013 22:07
quelle
0

Ich stimme @ Sumos Kommentar unter akzeptierter Antwort zu und ich hatte die gleiche Situation.

Wenn Sie in ASP.NET 4.0 auf der Masterseite keine ID erhalten, wird dem gerenderten HTML-Code automatisch eine zugewiesen, z. B..

Andernfalls hat das gerenderte HTML seine ursprünglich definierte ID.

    
Yang 18.02.2015 22:28
quelle

Tags und Links