0

問題は非常に単純に見えますが、linq からユーザーの電子メールとパスワードをチェックするログイン ページを手動で作成しています。ログインページには、「ユーザーが存在しません」や「ユーザーが非アクティブです」などのクエリ結果に基づいてエラーメッセージを表示するaspラベルがあります。両方のテキストボックスにasp必須フィールドバリデーターがあります。問題は、ユーザーの最初の試行が失敗し、メッセージがラベルに表示された場合、ユーザーが正常にログインしない限り消えないことです。送信ボタンでテキストを lable1.text="" に戻したいのですが、それはできませんこれはサーバー側のコントロールであり、テキスト ボックスのバリデーターは、空の場合はそれを許可しません。Javaスクリプトを使用する必要がありますか?

4

2 に答える 2

1

ここで行う最も簡単な方法は、ご想像のとおり、javascript でメッセージをクリアすることです。

<asp:Button ID="SubmitButton" OnClientClick="ClearLableText" runat="server" />

あなたのコメントに従って、JavaScriptを更新しました:

function ClearLableText() { var element = document.getElementById("<% this.lblMessage.ClientID %>"); element.innerHTML = ""; } 
于 2012-07-11T15:26:11.140 に答える
0

これを試すことができます

protected void page_load(object sender, EventArgs e)
{
    MyMessageLabel.Text = ""; //or .Visible = false;
}

protected void Button_Click(object sender, EventArgs e)
{
   //By this time, page_load had already executed and the Message Label cleared 
   MyMessageLabel.Text = "new result from server";

   if(validResult)
     //RedirectToWhere();
   else
     //StayOnPage();
}

それがうまくいくことを願っています。

于 2012-07-11T16:30:38.467 に答える