该问题看起来非常简单,但它给我带来了痛苦 我正在手动创建一个登录页面,用于检查来自linq的用户电子邮件和密码。在登录页面上有一个asp标签,它根据“user not exist”或“user is inactive”等查询结果显示错误消息等。在两个文本框上都有asp必需的字段验证器。 问题是,如果用户第一次尝试失败并且信息显示在标签上,它不会消失,除非用户成功插入。我希望文本返回为提交按钮上的lable1.text =“”,但它不能作为其服务器端控件,并且文本框验证程序不会让它变空。我必须使用java脚本吗?在提交服务器之前隐藏asp标签文本
回答
最简单的事情就是在javascript中清除消息,就像你想的那样。
<asp:Button ID="SubmitButton" OnClientClick="ClearLableText" runat="server" />
和最新的JavaScript,按您的评论:
function ClearLableText() { var element = document.getElementById("<% this.lblMessage.ClientID %>"); element.innerHTML = ""; }
。因为这是按钮事件,我如何将标签id传递给javascript函数并使其值为空?我尝试的方式与我们为html元素所做的相同,但它在函数调用时不断提供异常,或者在java脚本中返回null。这里是我的函数调用和javascript:onclick =“btnLogin_Click”OnClientClick =“ClearLableText('<%this.lblMessage.ClientId%>');”函数ClearLableText(elementId)var element = document.getElementById(elementId); element.value =“”; } – ali 2012-07-11 16:32:22
这个JavaScript选项应该可以工作。从你的函数中尝试'var label = document.getElementById(<%= lblMessage.ClientId%>)'而不是通过它 – codingbiz 2012-07-11 16:51:36
我已根据你的评论更新了我的答案。它比你最初写的更加紧密,但我认为这是一个相当具体的东西,不会在很多地方重复使用。 (编辑:tcoder和我想的是一样的东西) – 2012-07-11 16:52:30
你可以试试这个
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();
}
希望它为你工作。
此解决方案的问题是必需的字段验证程序将阻止字段为空时的回发,并且该消息将保留。上面的逻辑将永远不会触发,因为它依赖于ap ostback。 – 2012-07-11 16:42:37
感谢您的帮助。这是我最初的。但一旦按下按钮并登录失败,标签就会获取错误文本。当文本字段验证程序在将它发送到服务器或重新加载页面之前检查所需字段时,我希望它消失。就像asp验证错误信息一样 – ali 2012-07-11 16:45:22
- 1. 隐藏在文件中的字符串混帐之前提交
- 2. 在服务器上保留ASP .NET代码隐藏文件吗?
- 3. 在文本区域隐藏HTML标签
- 4. 在提交之前,表单结果是否隐藏?
- 5. 在asp中继器中更改标签的值并隐藏imagebutton
- 6. 如何在提交之前执行服务器端验证
- 7. 在提交给服务器之前清理淘汰VM项目
- 8. 隐藏在标签
- 9. 如何在提交标记之前提交文件?
- 10. Objective-c - iOS - 隐藏/取消隐藏标签,文本字段等
- 11. 隐藏没有html标签的文本父母被隐藏jQuery
- 12. 隐藏标签
- 13. 隐藏标签
- 14. 在提交之前在文本框中保存文本
- 15. 在提交文本之后但在提交之前运行javascript/jquery
- 16. 根据标签文本隐藏复选框和标签
- 17. chart.js之V2隐藏数据集标签
- 18. 隐藏asp单选按钮文本
- 19. 如何在提交前追加隐藏字段值以输入文本字段?
- 20. 隐藏轴标签
- 21. 隐藏标签页
- 22. Javascript提交隐藏字段提交
- 23. 提交后隐藏提交按钮?
- 24. 正在传递的文本框中的文本标签提交
- 25. 在服务器端,如何确定ModalPopupExtender目前是隐藏的?
- 26. 服务器标签
- 27. 隐藏之前在文本框中输入的数据
- 28. 隐藏在'之前'css元素的文本
- 29. GIT:有当前提交散列和最新的标签在文件上提交
- 30. 表单隐藏提交
您是否尝试禁用标签的视图状态? – 2012-07-11 14:39:40
登录成功后,您的登录信息是否重定向? – codingbiz 2012-07-11 14:44:31
@AmiramKorach你说过我试过但没用。与使visible = false相同?如果是的话,将如何再次启用它? m对不起m新的在asp – ali 2012-07-11 16:11:51