ASP.NET AJAX控件工具包ValidatorCallout无法处理编辑模板

时间:2009-09-15 18:17:51

标签: asp.net ajaxcontroltoolkit

我有一个页面,其中包含用于插入和编辑记录的列表视图。 将RequiredFieldValidator和ValidatorCallOutExtender分配给InsertItemTemplate效果很好。
当我尝试在EditItemTemplate上执行相同操作时,ValidatorCallOut出现但框中没有文本。 有什么东西我做错了吗?

我的InsertItemTemplate代码:

 <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>

1 个答案:

答案 0 :(得分: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") %>' />