这个问题看起来非常简单,但它给了我痛苦 我手动创建一个登录页面,检查来自linq的用户电子邮件和密码。在登录页面上有一个asp标签,根据查询结果显示错误消息,例如“用户不存在”或“用户不活动”等。在两个文本框上都有asp必需的字段验证器。 问题是如果用户第一次尝试失败并且消息显示在标签上,除非用户成功插入,否则它不会消失。我希望文本返回lable1.text =“”提交按钮但它不能作为它是一个服务器端控件,如果为空,文本框验证器不会让它出现。我必须使用java脚本吗?
答案 0 :(得分:1)
这里最简单的方法就是按照你的想法清除javascript中的消息。
<asp:Button ID="SubmitButton" OnClientClick="ClearLableText" runat="server" />
根据您的评论更新javascript:
function ClearLableText() { var element = document.getElementById("<% this.lblMessage.ClientID %>"); element.innerHTML = ""; }
答案 1 :(得分: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();
}
希望它适合你。