2016-11-21 63 views
0

我有一個非常簡單的場景:ASP網的RegularExpressionValidator不顯示信息時無效

的.ascx:

<div class="record"> 
    <div id="label1" class="label">First name</div> 
    <div class="value"> 
     <telerik:RadTextBox runat="server" ID="firstName" ClientIDMode="Static" Width="200"></telerik:RadTextBox> 
    </div> 
    <div class="validation"> 
     <asp:RegularExpressionValidator ID="firstNameRegularExpresionValidator1" ClientIDMode="Static" runat="server" ControlToValidate="firstName" SetFocusOnError="True" ValidationExpression="<%# NameValidatorProp.FirstName.Regex %>" ErrorMessage="<%# NameValidatorProp.FirstName.ErrorMessage %>" Display="Dynamic" /> 
    </div> 
    </div> 

在.ascx.cs文件我已經初始化NameValidatorProp。

問題是驗證發生,並且正則表達式驗證器帶有display:inline當單詞與regex不匹配時,但驗證錯誤沒有。當我將ErrorMessage從後面的代碼更改爲常量字符串時發生的事件。如果我輸入硬編碼的ErrorMessage,它當然會起作用。

解決方法是在頁面上加載ErrorMessage屬性爲我所擁有的值。它可以工作,但是當我有更多的文本框項目時,它看起來很醜。

任何建議爲什麼ErrorMessage從不顯示值?

回答

1

當您使用這種聲明性語法時,您必須將DataBind()添加到Page_LoadRead more

protected void Page_Load(object sender, EventArgs e) 
{ 
    this.DataBind(); 
} 
+0

謝謝,做了詭計!!! –