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%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.
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.
Tags und Links html asp.net forms master-pages