我一直在研究這一段時間,但我似乎無法找到答案...... Google今天真的沒有幫助我!驗證器控件必須始終顯示=「動態」
我正在一個C#網站上使用大量的表單和大量的驗證。必須用手輸入的大型表格(儘管這裏沒有問題)。
我的問題是,我總是希望我的ValidationControls將顯示屬性設置爲動態。
我找到了解決辦法,但我不相信這是最好的解決方案。
目前,我有一個BaseValidatorControlAdapter,設置了驗證顯示類型爲「動態」是這樣的:
public class BaseValidatorControlAdapter : ControlAdapter
{
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
System.Web.UI.WebControls.BaseValidator _control = (System.Web.UI.WebControls.BaseValidator)this.Control;
_control.Display = System.Web.UI.WebControls.ValidatorDisplay.Dynamic;
base.Render(writer);
}
}
然後,這是通過添加App_Browser它看起來像這樣
<browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.BaseValidator"
adapterType="BaseValidatorControlAdapter" />
</controlAdapters>
</browser>
</browsers>
我的問題triggerd因爲你是。是否可以爲任何驗證器控件設置顯示的默認值。因爲我目前的解決方案僅僅覆蓋了現在的情況,而且沒有辦法改變這種情況。因此,當情況發生,我確實需要其他東西,然後在顯示選項中動態顯示時,沒有解決方案。
我幾乎確信有更好的解決方案。
任何意見是讚賞!
編輯2012年8月2日:
我終於與解決方案覆蓋默認asp.net控件和下面的構造添加到他們
public controlname()
: base()
{
this.Display = "Dynamic";
}
我添加了所有這些控件落腳命名空間,現在我可以做
<validator:RequiredField ID="RqrdFld_x" runat="server" Display="Static" />
本質上覆蓋了我的控制定義中的默認值d覆蓋構造函數中Dynamic的默認控件Display值。
聽起來正是我想要的,儘管我已經有了自己的解決方案,我會看看,因爲這看起來好一點。如果是我想要的解決方案,您絕對可以將我的投票作爲答案!只需要回到我自己的電腦:D – bkwint 2012-09-14 12:29:02