'Nummer' ist kein gültiger Typ für ein Eingabe-Tag - Nur auf meinem lokalen Rechner

8

Ich versuche, an einem bereits laufenden Asp.Net / Win Forms-Projekt zu arbeiten.

Alles wird im Visual Studio gut übersetzt, aber wenn ich eine bestimmte Seite unter meinem lokalen IIS starte, bekomme ich

  

'Nummer' ist kein gültiger Typ für ein Eingabe-Tag.

in dieser Zeile von html:

%Vor%

Es gibt viele Leute, die sich über das gleiche Problem beschweren, aber die einzige Lösung, die ich sehe, ist die Aktualisierung des Codes oder HTML, was ich nicht tun kann, da dies auf dem Live-Server und auf einem anderen Entwickler-Rechner funktioniert / p>

UPDATE (basierend auf dem vorgeschlagenen Duplikat)

Ich habe mir diese Frage schon angesehen:

Wie kann ich HTML5 verwenden? E-Mail-Eingabetyp mit serverseitigem .NET

Es schlägt vor, ein Update für .net 4 zu installieren Ссылка . Ich denke, dass diese Maschine nach 2011 sowieso installiert wurde, aber wie auch immer die Updates nicht installieren, heißt es:

  

KB2468871v2 trifft nicht zu oder wird durch eine andere Bedingung auf Ihrem Computer blockiert.

Ich weiß nicht, ob das bedeutet, dass die Updates bereits installiert sind oder nicht?

Die anderen Antworten schlagen Code / HTML-Änderungen vor, die ich nicht durchführen kann, da dies bereits anderswo funktioniert.

Was fehlt mir auf meinem Computer?

    
Bex 21.11.2017, 09:36
quelle

7 Antworten

4

Das ergibt keinen Sinn ... aber wie von dieser Antwort inspiriert: Ссылка

Ich habe mein Target Framework in Visual Studio auf 4.5.1 statt auf 4.5 aktualisiert und jetzt lädt die Seite ohne einen Parserfehler!

    
Bex 27.11.2017, 16:37
quelle
0

Verwenden Sie diesen Code, um den HTML5-Eingabetyp zu verwenden:

Verwenden Sie dies in der .aspx-Datei:

%Vor%

Verwenden Sie diese Datei in der .cs-Datei:

%Vor%     
Abhishek Maurya 21.11.2017 09:53
quelle
0

Überprüfen Sie, ob Ihr Browser HTML5 unterstützt oder nicht. Wenn es unterstützt wird und immer noch nicht angezeigt wird, dann sagen Sie dem Browser explizit, dass Sie HTML5-Tags verwenden.

Verwenden Sie dies in Ihrer ASPX-Datei.

<!DOCTYPE html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    
rajit 24.11.2017 05:04
quelle
0

Dieses Problem tritt auf, weil das auf Ihrer Maschine installierte .net-Framework nicht über die Klasse System.Web.UI.HtmlControls.HtmlInputGenericControl verfügt.

Diese Klasse definiert die Methoden, Eigenschaften und Ereignisse für den serverseitigen Zugriff auf das HTML5-Eingabeelement. (Referenz - MSDN)

Es ist seit .Net 4.5 verfügbar.

Schritte zur Lösung des Problems

1. Stellen Sie sicher, dass .NET Framework 4.5 auf dem Servercomputer verfügbar ist.

2. Stellen Sie sicher, dass das Zielframework für die Projekte in Ihrer Lösung auf .NET 4.5

verweist

3. Stellen Sie sicher, dass die Website den 4.0-App-Pool in IIS verwendet.

    
priyadarshi swain 24.11.2017 21:56
quelle
0

Überprüfen Sie die Voraussetzungen für dieses Update.
- Um dieses Update zu installieren, müssen Sie .NET Framework 4 oder das .NET Framework 4-Clientprofil installiert haben.
- Um dieses Update zu installieren, muss Windows Installer 3.1 oder eine neuere Version installiert sein. Besuchen Sie die folgende Microsoft Website , um die neueste Version von Windows Installer zu erhalten p>

Wenn Ihr Computer bereits die Voraussetzungen hat
- Ausführen einer Visual Studio-Produktreparatur über die Programme und Funktionen im Windows-Steuerungsfeld.
- Führen Sie den Patch, Hotfix, erneut aus.

    
Henryk Budzinski 25.11.2017 08:16
quelle
0

Installieren von HTML 5-Updates für .NET 4 von Reliability Update 1 für Das .NET sollte .NET-Framework ermöglichen, HTML5-Steuerelemente zu verstehen.

Zitieren von msdn;

  

Das erste Update wurde mit VS 2010 SP1 ausgeliefert. Sie können über die lesen   Framework-Update hier: Ссылка . Einer von   die Funktionen von HTML 5 gibt es jetzt neue Eingabearten wie Datum,   URL, E-Mail und mehr. Die meisten Browser unterstützen diese nicht   Eingabetypen sollten Sie heute noch verwenden, weil sie am mobilsten sind   Geräte unterstützen sie und es ändert sich die Tastatur diese Geräte   Anzeige. Wenn Sie zum Beispiel type=”email” angeben, werden viele Telefone dazu führen   Stellen Sie das Zeichen “@” auf der Tastatur bereit. type=”email” oder type=”url”   wird dazu führen, dass viele Telefone die Taste “.com” auf der Tastatur als   eine Abkürzung.

     

Vor dem obigen Update war es illegal, diese Eingabetypen im Web zu verwenden   Formen. Folgendes würde einen Fehler erzeugen:

     

<asp:TextBox id=”TextBoxEmail” runat=”server” type=”email” />

     

Weil wir überprüft haben, welche Werte für type= attribute. bereitgestellt werden können. Diese Validierung wurde im Rahmen des oben genannten Updates gelockert.

    
Anil 27.11.2017 08:09
quelle
0

Das größte Problem ist das Kompatibilitätsproblem bei der Verwendung von runat="server" im Eingabefeld. Wenn Sie das dot.net-Framework unter 4 verwenden, könnte dieses Problem auftreten.

Lösung:

Entfernen Sie runat="server" und rufen Sie das Textfeld auf der Serverseite auf, indem Sie Request.Form("name") verwenden. Bitte machen Sie das Textfeld als HTML-Eingabe, anstatt runat="server"

zu verwenden

Aktualisierung für .NET Framework 4: März 2011 -

und besuchen Sie diese Diskussionen

Rendern von ASP.NET TextBox als HTML5 Eingabeart "Number "

Details:

Verwenden von HTML5-Eingabetypen in ASP.NET-Webformularen

Jetzt kommt der Hauptpunkt - Wie verwendet man die neuen Eingabetypen in ASP.NET? Natürlich können Sie rohe Tags wie oben in Ihrem Webformular verwenden und dann Request.Form collection verwenden, um auf einzelne Werte zuzugreifen. Wenn Sie jedoch eine webformbasierte Anwendung entwickeln, verwenden Sie wahrscheinlich serverseitige Steuerelemente (entweder HTML-Serversteuerelemente) oder Web-Server-Steuerelemente) anstelle von reinem HTML-Markup. In solchen Fällen haben Ihre Textfelder folgendes Format:

%Vor%

Das Problem besteht nun darin, dass die Standardinstallation von VS2010 die neuen Eingabetypen von HTML5 nicht berücksichtigt. Daher können Sie die neuen Eingabetypen in Ihren Webformularen nicht verwenden. Glücklicherweise gibt es ein Update auf dem MSDN Download Center , das den Fehler behebt Problem für Webserversteuerelemente (aber nicht für HTML-Serversteuerelemente). Wenn Sie dieses Update installiert haben, können Sie das TextBox-Server-Steuerelement wie folgt verwenden:

%Vor%

Beachten Sie das Typattribut, das dem <asp:TextBox> -Tag hinzugefügt wurde. Auf diese Weise können Sie jeden neuen HTML5-Eingabetyp angeben und das resultierende Steuerelement wird entsprechend gerendert. Die Art und Weise, wie Sie auf das TextBox-Serversteuerelement auf dem Server zugreifen, bleibt unverändert.

    
Ramesh Rajendran 28.11.2017 14:02
quelle

Tags und Links