我們有一個ASP.Net webforms頁面。在頁面加載事件中,頁面用數據填充一些輸入。然後阻止它們,以便用戶不能編輯它們。不幸的是,有些數據似乎是錯誤的,所以ASP.Net驗證器將不允許用戶發佈表單。啓用無效輸入的最佳方法是什麼?
有人決定解除阻止無效輸入以允許用戶編輯它們。我們在頁面上有許多ASP.Net驗證器,包括自定義驗證器。我可以使用這些驗證器來驗證OnLoad事件中的數據並取消阻止無效字段,還是我需要手動取消阻止它們檢查每個字段?什麼是達到結果的最佳方式?
我們有一個ASP.Net webforms頁面。在頁面加載事件中,頁面用數據填充一些輸入。然後阻止它們,以便用戶不能編輯它們。不幸的是,有些數據似乎是錯誤的,所以ASP.Net驗證器將不允許用戶發佈表單。啓用無效輸入的最佳方法是什麼?
有人決定解除阻止無效輸入以允許用戶編輯它們。我們在頁面上有許多ASP.Net驗證器,包括自定義驗證器。我可以使用這些驗證器來驗證OnLoad事件中的數據並取消阻止無效字段,還是我需要手動取消阻止它們檢查每個字段?什麼是達到結果的最佳方式?
由於沒有代碼,我只能猜測這應該適用於你的邏輯。基本上,在設置所有字段的值後,可以運行Page.Validate()
並根據數據的有效性設置可見性。
// set all your values
_textBox1.Text = "Some Value 1";
_textBox2.Text = "Some Value 2";
Page.Validate();
_textBox1.Enabled = !_textBox1RangeVal.IsValid;
_textBox2.Enabled = !_textBox2RequiredFieldVal.IsValid;
我希望我能避免樣板代碼。我收到了驗證器驗證並設置它們的Enabled屬性的控件集合。看起來很奇怪。我只是想確保沒有其他選擇。謝謝! –
爲什麼不只是全部解鎖呢?用戶可以自行解鎖這些「被阻止」的表單字段,因此除非您完全信任用戶並知道他們沒有這樣做,否則他們可以更改不希望他們更改的數據。無論如何,你也在使用無效數據填充字段也是很好奇的。 – MikeSmithDev
@MikeSmithDev感謝您的建議!我明白你的意思,但我不負責做出這個決定。 –