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