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") %>' />
感谢 一个次要的问题是在EditItemTemplate模板行(TR)的颜色设置为白色(FFFFFF),使文字真很难在默认的黄色背景上看到。 – 2009-09-16 15:19:05