Asp.Net Web アプリケーションのテスト中に、JQuery の "fadeIn/Out/Toggle/To" 属性は html レイヤー (レイアウト) でサポートされていますが、Panel のような asp: レイヤー (レイアウト) ではサポートされていないことに気付きました。
詳細については、以下のコードに従う必要があります。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Animated1._Default" %>
<!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>Untitled Page</title>
<style type="text/css">
#pnl1
{
width:100px;
height:150px;
background-color:red;
border-style:solid;
border-color:black;
border-width:3px;
}
</style>
<script src="jquery-1.9.1.js" type="text/jscript" ></script>
<script type="text/jscript">
$(document).ready(function(){
$("#<%=Btn.ClientID%>").click(function(){
$("#<%=pnl1.ClientID %>").fadeOut(3000);});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Panel ID="pnl1" runat="server">
</asp:Panel>
<asp:Button ID="Btn" runat="server" Text="Mytext" />
</div>
</form>
</body>
</html>
上記のコードのように、パネルのような ASP コントロールはフェードアウト属性をサポートしていません。どうして?。
以下の html コードを使用した同じ例を見てみましょう。上記のコードで Css ID セレクターと Jquery を変更するだけです。
Css/Text コードは次のようになります。
#div1
{
width:100px;
height:150px;
background-color:red;
border-style:solid;
border-color:black;
border-width:3px;
}
//And Jquery Function:
<script src="jquery-1.9.1.js" type="text/jscript" ></script>
<script type="text/jscript">
$(document).ready(function(){
$("#Btn").click(function(){
$("#div1").fadeOut(3000);});
});
</script>
//Rest Of Body Code is here.
<body>
<form id="form1" runat="server">
<div>
<div id="div1"></div>
<input type="button" value="fade the div" id="Btn"/>
</div>
</form>
</body>
現在、div はフェードアウト属性をサポートしており、うまく機能します。
1.私の質問は、フェードアウトが asp:controls ではなく html で機能する理由です。
2.Jquery は asp:controls をサポートしていませんか?
3.または、Css/JQuery と Asp: Controls? の間に ID セレクターの結論があります。
最後に、上記の問題の解決策を示します。Css と Jquery の間で Asp コントロール ID のセレクターを処理する方法は完璧に機能します。