Question

J'ai un ASP.Net ImageButton en .Net 3.5. Il est une grande image, 450x700 que les utilisateurs peuvent cliquer sur. Du côté du serveur, le gestionnaire d'événements OnClick fait quelques trucs sur la base des coordonnées que l'utilisateur clique.

Il est une carte de base, une seule image statique, que les utilisateurs peuvent cliquer sur.

Il fonctionne très bien, sauf quand, dans IE, l'utilisateur est à un niveau de zoom autre que 100%. Dans ce cas, il transmet les coordonnées de pixels réels du clic, ce qui signifie que je reçois un point qui est quelque part sur une ligne entre l'origine et le point du clic.

Je regardais faire quelque chose comme actualX = clickedX * image.Width / 450, mais les propriétés de taille de l'image ne change pas lorsque l'image est agrandie, Image.Width reste toujours à 450.

Court d'un groupe de Javascript magie noire que je préfère éviter est-il possible de trouver les coordonnées d'image originales qui correspondent au point qui est cliqué?

Était-ce utile?

La solution

Il est impossible pour le serveur pour déterminer le niveau de zoom du navigateur sans Javascript.

Cela ressemble à un bug dans IE. Zoomant sur la page doit être complètement transparente au serveur. Vous devez signaler à Microsoft.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top