ASP.NET AJAX控件工具包ValidatorCallout不能在编辑模板上工作

问题描述:

我有一个包含插入和编辑记录的列表视图的页面。 将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> 

确保您的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