1

私はこれを1時間ほど試してきました。理解できないようです。asp:Buttonaspx ページに があり、いくつかの機能を完了する必要があり、そのうちの 1 つは のテキストを変更することですasp:Label。これは単純なはずで、他のオンライン投稿は、私が問題に正しく取り組んでいることを示していますが...

問題は単純ですが、それは私を殺しています。デバッグ/トラブルシューティングを行うために、コードを非常に基本的なものに戻しました。

protected void Page_Load(object sender, EventArgs e)
{
    allValidationMsg.Text = "Original text";
}

protected void btnRegister_Click(object sender, EventArgs e)
{
    allValidationMsg.Text = "Text changed";
}

ボタンをクリックしても何も起こりません。私が見逃しているのは単純なものだと確信しています。

アップデート:

<asp:Label id="allValidationMsg" runat="server" height="22px" ForeColor="Red"></asp:Label>

<asp:Button class="navbutton" ID="btnRegister" runat="server" 
                    Text="Register User" OnClick="btnRegister_Click" />
4

5 に答える 5

3

ボタンをクリックすると、 Page_Load が再度呼び出され、元のテキストが残ると思います。これを試して

protected void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack)
       allValidationMsg.Text = "Original text";
}

これとは別に、コードビハインドのどこにも表示されないため、マークアップのボタンのイベントハンドラーを登録すると仮定します

<asp:Button id="Button1" runat="server" OnClick="btnRegister_Click" />
于 2013-01-03T22:58:15.693 に答える
2

ボタンのクリックをハンドラーにバインドするのを忘れている可能性があります。

コードビハインドで次のようにすることができます。

mybutton.Click+=btnRegister_Click;

またはaspxで:

<asp:Button id="Button1"
       Text="Click here for greeting..."
       OnClick="btnRegister_Click" 
       runat="server"/>
于 2013-01-03T22:58:07.137 に答える
1

解決済み; 問題は、CompareValidator の使用にあるようです。理由はよくわかりませんが、このバリデーターがコメントアウトされると、問題は解決しました。おかしなことに、同じページの RequiredField および RegularExpression バリデータは問題を引き起こしません..

于 2013-01-04T00:13:31.380 に答える
0

マークアップ(ケース)に「OnClick」ではなく「onclick」と書いていることがわかります。おそらくそれが問題の原因です。

UPDATE1 そうしてみてください(ポストバックが機能するかどうかを確認してください):

protected void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack)
    {
       allValidationMsg.Text = "Original text";
    } 
    else
    {
       allValidationMsg.Text = "After postback";
    }
}

ボタンを押した後にテキストが変化する場合は?

UPDATE2また、新しいバージョンが実際にデプロイされるかどうかを理解するために、テキストにいくつかの変更を加えてみてください(強力なキャッシュの問題を除外するため)。

UPDATE3コードビハインドでバインディングを試みることができます(そしてそれをaspxから削除します)。

于 2013-01-03T23:11:47.410 に答える
0

ねえ、私はそれが何であるか知っていると思います。マークアップでは、ラベルは次のようになりますか??

<asp:Label ID="Label1" runat="server" >Some text</asp:Label>

マークアップでこれが必要です:

<asp:Label ID="Lable1" runat="server" text ="some text"></asp:Label>

私は以前にこれが起こったことがあります。マークアップをそれに変更した場合。それはうまくいくはずです。

于 2013-01-03T23:19:13.177 に答える