2010-10-13 5 views
10

ASP.NET 4.0 a introduit la propriété 'ClientIDMode', qui permet de spécifier le mode de rendu des ID de l'élément html dans le fichier html de sortie.Problème de validateurs et de ClientIDMode (ASP.NET)

Mon projet est actuellement réglé sur « statique » (le plus court/ne contient pas id hiérarchie de)

Lorsque vous utilisez un validateur (RequiredFieldValidator, RegularExpressionValidator ...), à moins que le contrôle, il est la validation a explicitement sa propriété ClientIDMode: AutoID Je reçois l'erreur:

Input parameter 'controlId' cannot be an empty string.

Est-ce le comportement attendu? Edit: Étant abit muet avec le message d'erreur, il voulait que je mette un identifiant sur le Validator, ce que je ne fais évidemment pas (sauf si j'ai besoin de le référencer).

Il semble toujours étrange qu'il échoue pour cette raison.

Répondre

3

Je me suis heurté à cela d'une manière légèrement différente: si mon contrôle utilisateur avait ClientIDMode="Static", j'ai reçu l'erreur sur les validateurs qui existaient dans le contrôle (ils n'avaient pas tous des ID).

Une solution de contournement consiste à basculer ClientIDModes sur le contrôle utilisateur incriminé. J'espère que cela t'aides!

Questions connexes