該問題看起來非常簡單,但它給我帶來了痛苦 我正在手動創建一個登錄頁面,用於檢查來自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. 在輸入文本前隱藏提交按鈕
- 4. 在文本區域隱藏HTML標籤
- 5. 在提交之前,表單結果是否隱藏?
- 6. 在提交之前將Lat Lng值設置爲隱藏字段
- 7. 在asp中繼器中更改標籤的值並隱藏imagebutton
- 8. 如何在提交之前執行服務器端驗證
- 9. 在表單提交之前與AngularJS同步呼叫服務器
- 10. 在提交給服務器之前清理淘汰VM項目
- 11. 隱藏在標籤
- 12. 隱藏標籤文本到整數
- 13. iOS 5隱藏tabBarItem文本標籤
- 14. 如何在提交標記之前提交文件?
- 15. 看不到服務器音頻標籤的代碼隱藏
- 16. 輸入類型=「隱藏」。服務器標籤結構不正確
- 17. 使用隱藏字段時服務器標籤形成不良?
- 18. s:隱藏提交前的設置值
- 19. Objective-c - iOS - 隱藏/取消隱藏標籤,文本字段等
- 20. 隱藏沒有html標籤的文本父母被隱藏jQuery
- 21. 如何隱藏apache服務器版本?
- 22. 隱藏標籤
- 23. 隱藏標籤
- 24. 隱藏標籤
- 25. 在提交之後恢復本地主服務器
- 26. 如何隱藏asp內的asp控件或div標籤:GridView
- 27. 清除服務器的驗證消息之前提交
- 28. 在提交之前在文本框中保存文本
- 29. 在提交文本之後但在提交之前運行javascript/jquery
- 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