Je crée une application Web à l'aide de Visual Studio 2012. J'essaie d'ajouter le nombre de mots dans ma zone de texte. Cependant après avoir ajouté les codes javascript et les codes html. Je reçois l'erreur comme indiqué ci-dessus.
Voici mes codes javascript
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, "");
}
Codes de serveur dans la page maître
<script type="text/javascript" src="js/JScript.js" ></script>
Codes ASPX, (codes Html)
<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>
la source
targetFramework="4.5"
. J'ai dû explicitement ajouter ce paramètre à mon web.config pour que cela fonctionne.Plutôt que de désactiver une nouvelle fonctionnalité, j'ai choisi de suivre les instructions de l'erreur. Dans mon global.asax.cs, j'ai ajouté:
Cela provient d'un article de blog msdn qui met en évidence certains des avantages des mappages de ressources de script. Un intérêt particulier pour moi était le contrôle centralisé de la livraison des fichiers de script basé sur "debug = true", EnableCDN, etc.
la source
<script type='text/javascript'> //<![CDATA[ $(document).ready(function () { $("#menu").menu(); }) //]] </script>
. Est-ce la bonne approche?Il existe au moins trois façons de désactiver l'utilisation de JavaScript discret pour la validation côté client:
System.Web.UI.ValidationSettings.UnobtrusiveValidationMode
propriété statique surSystem.Web.UI.UnobtrusiveValidationMode.None
System.Web.UI.Page.UnobtrusiveValidationMode
propriété d'instance surSystem.Web.UI.UnobtrusiveValidationMode.None
Pour désactiver la fonctionnalité page par page, je préfère définir la
Page.UnobtrusiveValidationMode
propriété à l'aide de la directive page:la source
La validation discrète est activée par défaut dans la nouvelle version d'ASP.NET. La validation discrète vise à réduire la taille de la page en remplaçant le JavaScript en ligne pour effectuer la validation par une petite bibliothèque JavaScript qui utilise jQuery.
Vous pouvez le désactiver en modifiant web.config pour inclure les éléments suivants:
Ou mieux encore, configurez-le correctement en modifiant la méthode Application_Start dans global.asax:
La page 399 du début d'ASP.NET 4.5.1 en C # et VB fournit une discussion sur les avantages de la validation discrète et une procédure pas à pas pour la configurer.
Pour ceux qui recherchent RouteConfig. Il est ajouté automatiquement lorsque vous créez un nouveau projet dans Visual Studio dans le dossier App_Code. Le contenu ressemble à ceci:
la source
pour ajouter un peu plus à la réponse de b_levitt ... sur global.asax:
sur votre default.aspx
la source
Je crois avoir rencontré le même dilemme. J'ai commencé à rencontrer le problème lorsque j'ai changé pour:
Ce qui donne le message d'erreur que vous décrivez ci-dessus.
ajouter:
Résout le problème, mais cela fait que vos contrôles / scripts de validation génèrent des erreurs d'exécution Javascript. Si vous changez pour:
Vous devriez être OK, mais vous devrez vous assurer que le reste de votre code se comporte / se comporte comme vous le souhaitez. Vous devrez peut-être également renoncer à certaines nouvelles fonctionnalités uniquement disponibles à partir de la version 4.5.
PS Il est fortement recommandé de lire ce qui suit avant de mettre en œuvre cette solution. Surtout, si vous utilisez la fonctionnalité Async:
https://blogs.msdn.microsoft.com/webdev/2012/11/19/all-about-httpruntime-targetframework/
MISE À JOUR avril 2017: Après quelques expérimentations et tests, j'ai trouvé une combinaison qui fonctionne:
avec:
la source
Le problème est survenu en raison du validateur de contrôle. Ajoutez simplement la référence J Query à votre page Web comme suit, puis ajoutez les paramètres de validation dans votre fichier web.config pour résoudre le problème. Moi aussi, j'ai fait face au même problème et ce qui suit a donné la solution à mon problème.
Étape 1:
Étape 2 :
Cela résoudra votre problème.
la source
Il y a 3 solutions que d'autres gars ont dites à supérieur ... mais lorsque vous essayez la solution Application_Start, mon autre bibliothèque jQuery comme Pickup_Date_and_Time ne fonctionne pas ... alors je teste la deuxième façon et il est répondu: 1- définissez le FrameWork cible sur Pre 4.5 2 - Utilisez "UnobtrusiveValidationMode =" None "" dans l'en-tête de votre page =>
cela fonctionne pour moi et ne perturbe pas mon autre fonction jQuery.
la source