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 回答