簡體   English   中英

在 ASP.NET 的 CodeBehind 中添加和刪除“is-invalid”類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM