validateur jquery avec asp.net

j’ai besoin de comprendre comment je peux obtenir l’access aux objects asp avec jquery parce que j’ai un fichier qu’il est enregistré dans le chargement de page du code derrière mon aspx qui ont le script nécessaire pour faire une validation, j’ai lu dans le site de différents que je peut le faire avec ce mais ne fonctionne pas, je vais mettre mon code et n’importe qui pourrait m’aider. Merci

le bouton qui déclenche la validation de cette méthode dans le fichier script

   

le js

 $(".btnOk").click(validateData); function validateData() { $("form").validate({ rules: { '': "required" } }); } 

mon code derrière où j’ai enregistré les scripts

 ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript", " "); ClientScript.RegisterClientScriptBlock(this.GetType(), "Validator", " "); 

METTRE À JOUR

c’est la saisie de texte que j’ai besoin de valider

   

Avec '' et ne fonctionne pas aussi avec '.txtLayerName'

MISE À JOUR 2

c’est le nom de rendu par asp

  

jquery valide en utilisant la propriété NAME des entrées HTML, pas l’ID. Cela fait longtemps que je n’ai pas utilisé les formulaires Web, donc je ne sais pas si le nom et l’identifiant correspondent. mais il pourrait être intéressant de regarder dans.

EDIT: j’ai ajouté la validation à la volée avec un grand succès, comme ceci:

  $(function(){ $("form").validate(); $('.txtLayerName').each(function () { //add the required validator to these! $(this).rules('add', {required: true}); }); }); 

Je pense que tu veux:

 '<%= txtLayerName.ClientID %>': "required" 

Aussi, gardez à l’esprit que vous pouvez utiliser une classe CSS au lieu de définir des règles comme celle-ci, ce qui est un peu plus facile. Par exemple:

  

J’ai eu de la chance en utilisant le sélecteur “ends with” de jQuery car l’ID côté serveur du contrôle est toujours le dernier bit de la chaîne d’ID client.

Par exemple, l’ID client de votre bouton peut être quelque chose comme “ctl00 $ foo $ bar $ btnOk” alors votre jQuery serait:

 $("[id$=btnOk]").click(validateData); 

vous pouvez alors faire la même chose avec la zone de texte.

 rules: { $("[id$=txtLayerName]").attr("id") : "required" } 

METTRE À JOUR:

essayez plutôt ceci:

 rules = {}; rules[$("[id$=txtLayerName]").attr("id")] = "required"; 

comme les objects sont essentiellement des tableaux avec un access direct nommé aux éléments, vous pouvez créer un tableau et l’utiliser comme un object.

Cela fonctionne, car je l’utilise, bien que je suppose que '<%=txtName.UniqueID %>' n’a pas besoin de '' ‘pour fonctionner …

Si vous utilisez .NET 4 et que vous avez clientIDMode = Static , vous pouvez également utiliser le script suivant et utiliser les noms comme vous le feriez normalement.

  $("#aspForm input:not(:hidden)").each(function () { var i = $(this).get(0); i.name = i.id; });