[英]Adding and removing "is-invalid" class from CodeBehind in ASP.NET
我正在創建一個用戶必須填寫表單的 ASP 站點。 文本框、下拉列表,我使用 Bootstrap 4 作為樣式,整個內容都在更新面板中,因此頁面感覺響應迅速,而無需進行完整的回發。
因此,當用戶點擊提交按鈕時,我會檢查是否有任何文本框或下拉列表為空。 如果是,我不會插入到數據庫中,而是將“is-invalid”附加到空字段的 CssClass。
Control.CssClass += " is-invalid";
到目前為止,一切都很好。 空字段變紅。
但是,如果用戶填寫空字段並再次單擊提交,即使我將“is-invalid”替換為空,這些字段仍會保持紅色。
Control.CssClass.Replace(" is-invalid", "");
所以我的問題是,為什么紅色沒有消失? 如果在追加時從 CodeBehind 更改 CssClass 有效,那么為什么在我刪除時它不起作用?
PS。:我知道我可以使用javascript,但我更喜歡整個檢查步驟在一個地方,而不是一半是.cs,另一半是javascript。 但是如果我不能從 CodeBehind 中刪除,那么我將使用 javascript,但我希望有一個解決方案。
Control.CssClass.Replace(" is-invalid", "");
它從CssClass
屬性中獲取string
,創建一個沒有is-invalid
值的新字符串,然后將新字符串扔掉。 屬性值不會改變。
如果要修改屬性的值,則需要更新它:
Control.CssClass = Control.CssClass.Replace(" is-invalid", "");
你在頁面生命周期的哪個地方實現了這個? 這聽起來是個不錯的首選。
查看您的代碼也會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.