ボタンをクリックした後、テキストをjQueryでラベル付けするように設定します。コードを書いて動作しましたが、ラベルにテキストを設定すると、ラベルは元の状態に戻ります。これが私のコードです:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="DynamicWebApplication.WebForm2" %>
<!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></title>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function f()
{
$('#<%=Label1.ClientID%>').html("hello");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server"></asp:Label>
<p></p>
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="f();"/>
</div>
</form>
</body>
</html>
ボタンがポストバックを引き起こしている場合、ページがリロードされた後、変更は失われます。これを試して -
function f()
{
$('#<%=Label1.ClientID%>').html("hello");
return false;
}
text
メソッドを使用してテキストを設定できます
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="return f();"/>
function f()
{
$('#<%=Label1.ClientID%>').html("hello");
return false;
}
私はこれを使います、
$('#<%=Label1.ClientID%>').text("hello");
ラベルはビューステートを維持しません。サーバーはその情報をサーバーに投稿しません。ラベルのViewStateを明示的に有効にしてみることができますが、それが機能しない場合は、その値を非表示フィールドに保存する必要があります。
<asp:Label ID="Label1" runat="server" EnableViewState="true"></asp:Label>
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return f();"/>
function f()
{
$('#<%=Label1.ClientID%>').html("hello");
return false;
}
OR
<asp:Button ID="Button1" runat="server" Text="Button" />
$(document).ready(function(){
$('#<%=Button1.ClientID%>').click(function(){
$('#<%=Label1.ClientID%>').html("hello");
return false;
});
});