Je ne vois pas en quoi ta modification te contrarie.
L'ancienne transformation des ID C# en ID HTML construisait systématiquement des id HTML à rallonge (surtout dans le cas de MasterPage) dans le but d'éviter les conflits.
Par défaut asp.net essaie désormais de générer des id plus concis.
Sauf erreur de ma part, ces id client n'ont d'importance que dans le cas de manipulation en javascript coté client (ce qui va être le cas de certains contrôles ASP.net évolués d'éditeur tiers).
La solution la plus simple et la plus radicale est celle consistant à changer le controlRenderingCompatibilityVersion dans le web.config.
Mais il est possible de faire un réglage plus fin au niveau de chaque page et même chaque contrôle grâce à la propriétés ClientIDMode.
Il en existe 3 : l'ancien (AutoID), le nouveau (Predicable) et Static (où id c# == id html / très pratique mais attention aux conflit).
http://msdn.microsoft.com/fr-fr/libr...entidmode.aspx
exemple :
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" ClientIDMode="Predictable" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
Il n'y a donc pas de solution unique.
Tout dépend de la nature et de la taille de ton projet.
Cette nouvelle génération d'id, créée une incompatibilité.
Donc même si cela fait bricolage, il faut la gérer à un niveau ou un autre (globale ou ponctuelle) : il n'y a pas de miracle.
Cordialement
Partager