creé control de usuario ASP.NET con función javascript:funciones Javascript dentro de control de usuario ASP.NET
<%@ 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"/>
Quiero llamar a la función "ejemplo" cuando el usuario mueva el ratón al botón, por lo que añadió atributo para el botón :
ExampleButton.Attributes.Add("onmouseover", "example()");
Funciona bien, pero cuando necesito dos controles en la misma página, tengo un problema. ASP.NET genera código con dos funciones con el mismo nombre, lo que es falso:
<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()" />
Y siempre onmouseover de eventos en cualquier botón llamará segunda función. Puedo resolver este problema agregando el código del script de Java con el Id del cliente directamente para atriburte onmouseover.
ExampleButton.Attributes.Add("onmouseover", "[Here will be javascript code]");
Pero no es una solución muy armoniosa para mí. Aconseje, cómo puedo resolver mejor este problema.
P.S. Habrá mucho más código Javascript, agregué dos cuerdas superiores, por ejemplo.
Sí, me tis una forma posible, pero no quieren mover código JavaScript en un archivo de CS debido a es un gran tamaño – Anton
@Anton - Parece que necesita refactorizar su archivo CS. – Oded