asp:button の .toggle() OnClientClick にしたい基本的な div があります。コードに関する限りは機能しますが、サーバー側の OnClick イベントハンドラーが原因で、クリック後に div がリセットされていると思います。基本的には、div が約 0.01ms の間消えて、すぐに再び表示されます。これが私の問題の最も簡単なコード例です。
何が起こるかの例を次に示します。
デフォルト.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Testing</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript">
function ToggleMe() {
$('#toggleMe').toggle();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="toggleMe">
<label>Hello World</label>
</div>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" OnClientClick="ToggleMe();"/>
</form>
</body>
</html>
Default.aspx.cs
using System;
namespace WebApplication2
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
int i = 5;
}
}
}
私は.removeClass、.addClass、.cssを試しました...ボタンクリックで発生するポストバックの問題ほど、使用しているjQueryの問題ではないと思います。
問題があるかどうかをテストするためにChromeを実行しています。
お時間をいただきありがとうございます。