0

この質問を再度投稿していますが、今回はより正確な説明かもしれません。

問題は、ラベルのテキスト値を設定するためにjQueryを使用していて、ブラウザでは正常に動作しますが、文字列に保存したい場合、保存されません。これがフロントエンドの HTML コードです。

  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="jquery-1.9.1.min.js"></script>
    <script type="text/javascript">
        $(window).load(function () {
            var myNewName = "Ronaldo";
           $('#<%= Label1.ClientID %>').text(myNewName);

        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

    </form>
</body>
</html>

そして、これがページ読み込み時のバックエンド C# コードです。

using System;
using System.Web.UI;

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        string mynameCheck = Label1.Text;
        if (mynameCheck=="Ronaldo")
        {
            Response.Write("Yes Name is Fine");
        }
        else
        {
            Response.Write("Name's not Fine");

        }
    }
}

表示される結果は、

Name's not Fine
Ronaldo

文字列はまだ Null のようです。レンダリングの問題はありますか??

4

5 に答える 5

0

ラベルはビューステートを維持しません。サーバーはその情報をサーバーにポストしません。Label で ViewState を明示的に有効にすることもできますが、それがうまくいかない場合は、その値を隠しフィールドに格納する必要があります。

于 2013-04-12T07:22:39.767 に答える
0

サーバー側コード (c#) は、クライアント側コード (HTML/Javascript) が投稿するまでフォーム データにアクセスできません。

なぜあなたはPageLoadイベントですでに名前を付けたいのですか?

asp:Buttonの値を読み取るために、アタッチされたonClickイベント ハンドラーを使用してを追加できますasp:Label

于 2013-04-12T07:19:24.153 に答える
0

最初の呼び出しPage Load eventとその後の呼び出しJQuery Window.Load event

したがって、ラベルにコンテンツを設定したい場合は、ボタンの onClientClick を使用して行うことができます。

たとえば。

<asp:Button ID="btn" runat="server" Text="Click me" OnClientClick="SetClientValues();" />

<script type="text/javascript">
    function SetClientValues() {
        var myNewName = "Ronaldo";        
        $('#<%= Label1.ClientID %>').text(myNewName);
    }
</script>

サーバー側のボタン イベントでは、クライアント側で設定されたラベル値を取得できます。

protected void btn_Click(object sender, EventArgs e)
{
        string mynameCheck = Label1.Text;
        if (mynameCheck=="Ronaldo")
        {
            Response.Write("Yes Name is Fine");
        }
        else
        {
            Response.Write("Name's not Fine");

        }
}

はい、名前は結構です

于 2013-04-12T07:40:17.357 に答える