0

リピーターがあり、リピーター内にテキストボックスとボタンがあります (ASCX で一緒に)。テキスト ボックスにはヒント テキストが事前に入力されており、フォーカス時にクリアされます。

私の問題は、1 つのテキスト ボックスがユーザーによって入力され、ユーザーが送信ボタンをクリックすると、ヒント テキストが他のコントロール内に送信されることです。

カスタム検証を実行しようとしましたが、バリデーターはリピーター内のすべてのコントロールを検証しようとしましたが、他のコントロールには、触れられていない場合はヒント テキストが含まれています。

これは ASCX であるため、コントロールをホストするページの ItemDataBound イベントのコードを強制的に変更するサーバー側のソリューションは使用したくありません。

ASCX 内にカプセル化しておくことができるクライアント側のソリューションまたはサーバー側のソリューションはありますか?

4

1 に答える 1

0

パブリック プロパティを使用して ASCX から親ページにデータを渡して処理する場合、そこでゴースト テキストを説明できます...

public property TextValue
{
    get
    {
        if (Textbox.Text != "Ghost Text")
        {
            return Textbox.Text;
        }
    }
}

クライアント側では、ボタンのクリックイベントにバインドし、ゴーストテキスト値と一致する場合はテキストをクリアできます...

$(function() {
    $('#btnSubmit').click(function() {
        var txt = $(this).siblings('txtValue');
        if (txt.val() == 'Please Enter Your Name')
           txt.val('');
    });
})

ScriptManager を使用して、ASCX からスクリプトを登録できます。

于 2012-08-01T20:23:50.070 に答える