Fonctions Javascript dans le contrôle utilisateur ASP.NET
J'ai créé ASP.NET de contrôle de l'utilisateur avec la fonction javascript :
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TestControl.ascx.cs" Inherits="BingTranslator.Web.WebUserControl1" %>
<script type="text/javascript">
function example() {
alert('<%=ExampleButton.ClientID%>');
return false;
}
</script>
<asp:Button ID="ExampleButton" runat="server" Text="Example"/>
Je veux l'appeler "l'exemple" de la fonction lorsque l'utilisateur déplacez la souris vers le bouton, j'ai donc ajouté l'attribut de bouton:
ExampleButton.Attributes.Add("onmouseover", "example()");
Il fonctionne bien, mais quand j'ai besoin de deux contrôles sur la même page j'ai un problème. ASP.NET génère un code à deux fonctions avec le même nom, ce qui est faux:
<script type="text/javascript">
function example() {
alert('TestControl1_ExampleButton');
return false;
}
</script>
<input type="submit" name="TestControl1$ExampleButton" value="Example" id="TestControl1_ExampleButton" onmouseover="example()" />
<script type="text/javascript">
function example() {
alert('TestControl2_ExampleButton');
return false;
}
</script>
<input type="submit" name="TestControl2$ExampleButton" value="Example" id="TestControl2_ExampleButton" onmouseover="example()" />
Et toujours événement onmouseover sur n'importe quel bouton pour appeler la seconde fonction. Je suis en mesure de résoudre ce problème par l'ajout de code java script avec l'Id client directement à attriburte onmouseover.
ExampleButton.Attributes.Add("onmouseover", "[Here will be javascript code]");
Mais il n'est pas très harmonieux solution pour moi. Veuillez informer, comment je peux mieux résoudre ce genre de problème.
P. S. Il y aura plus de code Javascript, j'ai ajouté deux cordes supérieur juste pour exemple.
source d'informationauteur Anton
Vous devez vous connecter pour publier un commentaire.
Vous devez enregistrer vos scripts avec
ClientScriptManager
- de cette façon, ils peuvent être enregistré qu'une seule fois, indépendamment de la façon dont souvent le contrôle a été ajouté à la page:J'ai trouvé une solution sur un autre site qui vous permet d'utiliser un fichier externe
Vous devez utiliser
this.id
De sorte que même si vous avez besoin de deux ou plus de même des contrôles dans la même page, ils auront des identifiants différents.
Espérons que cette Aide! cheers 🙂