2009-09-15 47 views
1

我有一個包含插入和編輯記錄的列表視圖的頁面。 將RequiredFieldValidator和ValidatorCallOutExtender分配給InsertItemTemplate效果很好。
當我嘗試在EditItemTemplate上執行同樣的操作時,ValidatorCallOut出現,但框中沒有文本。 有什麼我做錯了嗎?ASP.NET AJAX控件工具包ValidatorCallout不能在編輯模板上工作

我對InsertTemplate則代碼:

<asp:TextBox ID="date_timeTextBox" runat="server" Text='<%# Bind("date_time") %>' /> 
<asp:RequiredFieldValidator 
     ControlToValidate="date_timeTextBox" 
     ID="RequiredFieldValidator1" 
     runat="server" 
     ErrorMessage="date_time is required" 
     Display="None" 
     ValidationGroup="insert_into"> 
</asp:RequiredFieldValidator> 
<cc1:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" 
     runat="server" 
     TargetControlID="RequiredFieldValidator1"> 
</cc1:ValidatorCalloutExtender> 

而對於EditItemTemplate:它

<asp:TextBox 
    ID="date_timeTextBox" 
    runat="server" 
    Text='<%# Bind("date_time","{0:yyyy-MM-dd}") %>' /> 
<asp:RequiredFieldValidator 
    ControlToValidate="date_timeTextBox" 
    ID="reqDTT"  
    runat="server" 
    ErrorMessage="date_time is required" 
    Display="None" 
    ValidationGroup="edit_validate"> 
</asp:RequiredFieldValidator> 
<cc1:ValidatorCalloutExtender 
    ID="val_reqDTT" 
    runat="server" 
    TargetControlID="reqDTT"> 
</cc1:ValidatorCalloutExtender> 

回答

0

確保您的ID是在您的模板唯一的,所以的ControlToValidate = 「date_timeTextBox」 是不同的。

InsertTemplate

<asp:TextBox ID="date_timeTextBoxInsert" runat="server" Text='<%# Bind("date_time") %>' /> 

EditTemplate

<asp:TextBox ID="date_timeTextBoxEdit" runat="server" Text='<%# Bind("date_time") %>' /> 
+0

感謝 一個次要的問題是在EditItemTemplate模板行(TR)的顏色設置爲白色(FFFFFF),使文字真很難在默認的黃色背景上看到。 – 2009-09-16 15:19:05