ho creato controllo utente ASP.NET con funzione javascript:funzioni Javascript all'interno ASP.NET controllo utente
<%@ 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"/>
voglio chiamare la funzione "esempio" quando l'utente movimento del mouse a pulsante, così ho aggiunto l'attributo per il tasto :
ExampleButton.Attributes.Add("onmouseover", "example()");
funziona bene, ma quando ho bisogno di due controlli sulla stessa pagina ho ottenuto un problema. ASP.NET genera codice con due funzioni con lo stesso nome, ciò che è sbagliato:
<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()" />
E sempre onmouseover eventi su qualsiasi pulsante chiamerà seconda funzione. Sono in grado di risolvere questo problema aggiungendo il codice di script java con ID client direttamente per attribuire a onmouseover.
ExampleButton.Attributes.Add("onmouseover", "[Here will be javascript code]");
Ma per me non è una soluzione molto armoniosa. Si prega di avvisare, come posso risolvere meglio tale problema.
P.S. Ci sarà molto più codice Javascript, ho aggiunto due tomaie solo per esempio.
Sì, ho tis una possibile via, ma io non voglio spostare codice javascript in file di CS a causa di è enorme. – Anton
@Anton - Suona come avete bisogno di refactoring il file CS. – Oded