我正在創建一個用戶必須填寫表單的 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,但我希望有一個解決方案。
uj5u.com熱心網友回復:
Control.CssClass.Replace(" is-invalid", "");
它string從CssClass屬性中獲取 ,創建一個沒有該is-invalid值的新字串,然后將新字串扔掉。屬性值不會改變。
如果要修改屬性的值,則需要更新它:
Control.CssClass = Control.CssClass.Replace(" is-invalid", "");
uj5u.com熱心網友回復:
你在頁面生命周期的哪個地方實作了這個?這聽起來是個不錯的首選。
查看您的代碼也會有所幫助。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/325426.html
標籤:C# css asp.net bootstrap-4
上一篇:Logistic 回歸
