2012-08-23 137 views
1

我用Webcontrols測試jQuery和ASP.NET,並且在我的測試中,如果點擊按鈕,每次都會加載Side。 jQuery代碼添加一個Css類到標籤。jQuery和ASP.NET頁面加載

我的aspx:

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Main.aspx.cs" Inherits="jQueryAnwendung.Main" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>jQuery Anwendung</title> 

    <script src="Scripte/jquery-1.8.0.min.js" type="text/javascript"></script> 

    <style type="text/css"> 
     .CssKlasse 
     { 
      background:red; 
      font-size:40px; 
      } 
    </style> 

    <script type="text/javascript" language="javascript"> 

     $(document).ready(function() { 
      $("#<%= b1.ClientID%>").click(function (event) { 
       $("#<%= bild1.ClientID %>").slideToggle('slow'); 
      }); 

     }); 

    </script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Button ID="b1" runat="server" text="Bild verkleinern/vergrößern"/> 
     <asp:Image ID="bild1" runat="server" ImageUrl="~/Theme/net.png" Width="50" Height="50" /> 
    </div> 
    </form> 
</body> 
</html> 

我能做些什麼?

tarasov

+0

你怎麼想?如果您的按鈕不應將消息發送到服務器,請勿使用。使用html按鈕。 –

+0

在開關語句後添加返回錯誤 – Ashirvad

回答

1

處理程序內,防止按鈕從正常行爲:

$("#<%= b1.ClientID%>").click(function (event) { 
    event.preventDefault(); //prevent the control to act in its default way 
    $("#<%= bild1.ClientID %>").slideToggle('slow'); 
}); 
1

生成的ID更詳細;打開瀏覽器並點擊查看源文件。你會注意到它。將ID複製並粘貼到您的jQuery選擇器中。

另一種方法是在您的.aspx$("<%= b1.ClientID %>")內部撥打b1.clientID,它將在運行時輸出生成的clientID

由於ASP.NET 4,StaticMode允許您完全控制生成的ID。欲瞭解更多信息,檢查出來:http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx

1

,如果你使用的ASP控制你有2種方法來處理它

首先是改變"#b1"#l1""<%= #b1.ClientID%>""<%= #l1.ClientID %>"在你的jQuery函數

二是將屬性ClientIDMode="Static"添加到您的asp:Buttonasp:Label

+0

它不起作用:( – Tarasov

+0

哪種方式不起作用?編輯你的問題並顯示你是如何做到的:) – harry180

+0

期待我的更新...:P – Tarasov

1

Asp按鈕會導致當您單擊它時回發 - 頁面重新加載並且您的腳本未執行,您可以改用HTML按鈕或嘗試禁用此按鈕上的回發。