Ich erstelle eine Webanwendung mit Visual Studio 2012. Ich versuche, die Wortanzahl in mein Textfeld einzufügen. Nach dem Hinzufügen der Javascript-Codes und der HTML-Codes. Ich erhalte den Fehler wie oben angegeben.
Hier sind meine Javascript-Codierungen
Code:
function validateLimit(obj, divID, maxchar) {
objDiv = get_object(divID);
if (this.id) obj = this;
var remaningChar = maxchar - trimEnter(obj.value).length;
if (objDiv.id) {
objDiv.innerHTML = remaningChar + " characters left";
}
if (remaningChar <= 0) {
obj.value = obj.value.substring(maxchar, 0);
if (objDiv.id) {
objDiv.innerHTML = "0 characters left";
}
return false;
}
else
{ return true; }
}
function get_object(id) {
var object = null;
if (document.layers) {
object = document.layers[id];
} else if (document.all) {
object = document.all[id];
} else if (document.getElementById) {
object = document.getElementById(id);
}
return object;
}
function trimEnter(dataStr) {
return dataStr.replace(/(\r\n|\r|\n)/g, "");
}
Servercodes auf der Masterseite
<script type="text/javascript" src="js/JScript.js" ></script>
ASPX-Codes (HTML-Codes)
<tr>
<th style="width: 595px; height: 135px;">Official Report :</th>
<td colspan="4" style="height: 135px">
<asp:TextBox ID="tbofficial" runat="server" Height="121px" TextMode="MultiLine" Width="878px" MaxLength="500" ToolTip="Summary:(500 characters)" onkeyup="return validateLimit(this, 'lblMsg1', 500)" ></asp:TextBox>
<div id="lblMsg1">500 characters left</div>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="tbofficial" Display="Dynamic"
SetFocusOnError="True">*</asp:RequiredFieldValidator>
<br />
<asp:Label ID="lblmsg" runat="server"></asp:Label>
<br />
<br />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
<asp:Button ID="btnClear" runat="server" Text="Clear" OnClick="btnClear_Click" />
</td>
</tr>
quelle
targetFramework="4.5"
. Ich musste diese Einstellung explizit zu meiner web.config hinzufügen, damit sie funktioniert.Anstatt eine neue Funktion zu deaktivieren, habe ich mich dafür entschieden, den Anweisungen des Fehlers zu folgen. In meiner global.asax.cs habe ich hinzugefügt:
Dies stammt aus einem msdn-Blogbeitrag, in dem einige der Vorteile von Skriptressourcenzuordnungen hervorgehoben werden. Von besonderem Interesse für mich war die zentralisierte Kontrolle über die Bereitstellung der Skriptdateien basierend auf "debug = true", EnableCDN usw.
quelle
<script type='text/javascript'> //<![CDATA[ $(document).ready(function () { $("#menu").menu(); }) //]] </script>
. Ist das der richtige Ansatz?Es gibt mindestens drei Möglichkeiten, die Verwendung von unauffälligem JavaScript für die clientseitige Validierung zu deaktivieren:
System.Web.UI.ValidationSettings.UnobtrusiveValidationMode
statischen Eigenschaft aufSystem.Web.UI.UnobtrusiveValidationMode.None
System.Web.UI.Page.UnobtrusiveValidationMode
Instanzeigenschaft aufSystem.Web.UI.UnobtrusiveValidationMode.None
Um die Funktionalität pro Seite zu deaktivieren, ziehe ich es vor, die
Page.UnobtrusiveValidationMode
Eigenschaft mithilfe der Seitenanweisung festzulegen:quelle
Die unauffällige Validierung ist in der neuen Version von ASP.NET standardmäßig aktiviert. Die unauffällige Validierung zielt darauf ab, die Seitengröße zu verringern, indem das Inline-JavaScript für die Validierung durch eine kleine JavaScript-Bibliothek ersetzt wird, die jQuery verwendet.
Sie können es entweder deaktivieren, indem Sie web.config so bearbeiten, dass es Folgendes enthält:
Oder besser noch richtig konfigurieren, indem Sie die Application_Start-Methode in global.asax ändern:
Seite 399 von Beginn von ASP.NET 4.5.1 in C # und VB enthält eine Diskussion über die Vorteile einer unauffälligen Validierung und eine exemplarische Vorgehensweise für die Konfiguration.
Für diejenigen, die RouteConfig suchen. Es wird automatisch hinzugefügt, wenn Sie ein neues Projekt in Visual Studio zum Ordner App_Code erstellen. Der Inhalt sieht ungefähr so aus:
quelle
um der Antwort von b_levitt etwas mehr hinzuzufügen ... auf global.asax:
auf Ihrer default.aspx
quelle
Ich glaube, ich bin auf dasselbe Dilemma gestoßen. Das Problem trat auf, als ich zu Folgendem wechselte:
Welches gibt die Fehlermeldung, die Sie oben beschreiben.
Hinzufügen:
Behebt das Problem, führt dann jedoch dazu, dass Ihre Validierungssteuerelemente / -skripte Javascript-Laufzeitfehler auslösen. Wenn Sie zu:
Sie sollten in Ordnung sein, aber Sie müssen sicherstellen, dass der Rest Ihres Codes wie gewünscht funktioniert / sich verhält. Möglicherweise müssen Sie auch auf einige neue Funktionen verzichten, die erst ab Version 4.5 verfügbar sind.
PS Es wird dringend empfohlen, vor der Implementierung dieser Lösung Folgendes zu lesen. Insbesondere, wenn Sie die Async-Funktionalität verwenden:
https://blogs.msdn.microsoft.com/webdev/2012/11/19/all-about-httpruntime-targetframework/
UPDATE April 2017: Nach einigen Experimenten und Tests habe ich eine Kombination gefunden, die funktioniert:
mit:
quelle
Das Problem trat aufgrund des Control-Validators auf. Fügen Sie einfach den J Query-Verweis wie folgt zu Ihrer Webseite hinzu und fügen Sie dann die Validierungseinstellungen in Ihre web.config-Datei ein, um das Problem zu beheben. Auch ich hatte das gleiche Problem und das Folgende gab die Lösung für mein Problem.
Schritt 1:
Schritt 2 :
Es wird Ihr Problem lösen.
quelle
Es gibt 3 Lösungen, die andere Leute oben angegeben haben ... aber wenn Sie die Application_Start-Lösung ausprobieren, funktioniert meine andere jQuery-Bibliothek wie Pickup_Date_and_Time nicht ... also teste ich den zweiten Weg und es wird geantwortet: 1- Setzen Sie den Target FrameWork auf Pre 4.5 2 - Verwenden Sie "UnobtrusiveValidationMode =" None "" in Ihrem Seitenkopf =>
Es funktioniert für mich und stört meine andere jQuery-Funktion nicht.
quelle