1

次のようなボタンがあります。

<asp:Button ID="btnNext" runat="server" Font-Bold="true" Text="Next"
    onclick="btnNext_Click" style="text-align: center" Width="80px" />

および RadNumericTextBox:

<telerik:RadNumericTextBox ID="txtTotal5" runat="server" Width="50px" AutoPostBack="true" 
    MinValue="0" ontextchanged="txtTotal5_TextChanged"><NumberFormat DecimalDigits="0" /></telerik:RadNumericTextBox>

テレリックにテキストが含まれているonClientClickかどうかに基づいてプロパティを設定する必要があります。RadNumericTextBox値がない場合は、onClientClick以下に示すようにプロパティを設定する必要があります。onclickボックスに値があれば、それを次のフォームに導くイベントに進みたいだけです。

protected void txtTotal5_TextChanged(object sender, EventArgs e)
    {
        if (txtTotal5.Value.ToString() == "")
        {
            btnNext.OnClientClick = "javascript: return confirm('Please have the employee complete this form.')";
        }
        else
        {
            btnNext.OnClientClick = "";
        }
    }

今、デバッガーを数回使用してコードをステップ実行しましたが、関数内で期待どおりに値が変更されましたが、OnClientClickプロパティをに設定しても""、ボタンをクリックするとボックスがポップアップします。どういうわけか値がクライアントに渡されていませんか? 任意の提案をいただければ幸いです。前もって感謝します!

4

2 に答える 2

0

私の問題の解決策を見つけました。上記の関数はそのまま残しましたが、基本的に if-else を 内の page_load イベントにコピーしましたif(IsPostBack)

于 2013-08-07T13:32:40.953 に答える