2013-01-12 69 views
0

我們有一個ASP.Net webforms頁面。在頁面加載事件中,頁面用數據填充一些輸入。然後阻止它們,以便用戶不能編輯它們。不幸的是,有些數據似乎是錯誤的,所以ASP.Net驗證器將不允許用戶發佈表單。啓用無效輸入的最佳方法是什麼?

有人決定解除阻止無效輸入以允許用戶編輯它們。我們在頁面上有許多ASP.Net驗證器,包括自定義驗證器。我可以使用這些驗證器來驗證OnLoad事件中的數據並取消阻止無效字段,還是我需要手動取消阻止它們檢查每個字段?什麼是達到結果的最佳方式?

+0

爲什麼不只是全部解鎖呢?用戶可以自行解鎖這些「被阻止」的表單字段,因此除非您完全信任用戶並知道他們沒有這樣做,否則他們可以更改不希望他們更改的數據。無論如何,你也在使用無效數據填充字段也是很好奇的。 – MikeSmithDev

+0

@MikeSmithDev感謝您的建議!我明白你的意思,但我不負責做出這個決定。 –

回答

2

由於沒有代碼,我只能猜測這應該適用於你的邏輯。基本上,在設置所有字段的值後,可以運行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; 
+0

我希望我能避免樣板代碼。我收到了驗證器驗證並設置它們的Enabled屬性的控件集合。看起來很奇怪。我只是想確保沒有其他選擇。謝謝! –

相關問題