ASP.NET AJAX Control Toolkit ValidatorCalloutが編集テンプレートで機能しない

StackOverflow https://stackoverflow.com/questions/1428837

  •  07-07-2019
  •  | 
  •  

質問

レコードの挿入と編集に使用されるリストビューを持つページがあります。 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>
役に立ちましたか?

解決

IDがテンプレート全体で一意であることを確認して、ControlToValidate =&quot; date_timeTextBox&quot;異なります。

テンプレートの挿入

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

EditTemplate

 <asp:TextBox ID="date_timeTextBoxEdit" runat="server" Text='<%# Bind("date_time") %>' />
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top