我創建ASP.NET用戶控件的JavaScript功能: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"/>
我想打電話「示例」功能時用戶移動鼠標按鈕,所以添加的屬性爲按鈕:
ExampleButton.Attributes.Add("onmouseover", "example()");
它運作良好,但是當我需要同一頁上的兩個控件我有一個問題。 ASP.NET代碼生成兩個函數具有相同的名稱,什麼是錯的:
<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()" />
而上的任何按鈕總是onmouseover事件將調用第二功能。我可以通過將java腳本代碼直接添加到attriburte onmouseover來解決此問題。
ExampleButton.Attributes.Add("onmouseover", "[Here will be javascript code]");
但是它不是很和諧的解決辦法。請指教,我如何能更好地解決此類問題。
P.S.將會有更多的Javascript代碼,例如,我添加了兩個字符串upper。
是的,我那朵可能的方式解決,但我不希望javascript代碼進入CS文件,因爲它的體積很大。 – Anton 2010-12-11 12:48:27
@Anton - 聽起來像你需要重構你的CS文件。 – Oded 2010-12-11 12:49:35