0
私は動的に検証コントロールを作成し、更新パネルに追加しています。ただし、クライアント側の検証は実行されません。ここで動的検証コントロールは更新パネルでは機能しません
は、ASPXファイルである:ここで
<div>
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</ContentTemplate>
<Triggers >
<asp:AsyncPostBackTrigger ControlID ="Button1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" Text="Button" CausesValidation="true"/>
</div>
は、背後にあるコードです:ここでは
Dim Survey As New Survey
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Survey.RenderPage(PlaceHolder1)
End Sub
は、検証コントロールを作成するクラスです。
Public Class Survey
Public Sub RenderPage(ByVal PlaceHolder As PlaceHolder)
Dim textbox As New TextBox
textbox.ID = "testing"
PlaceHolder.Controls.Add(textbox)
Dim val As New RequiredFieldValidator
val.ControlToValidate = textbox.ID
val.Text = "required"
val.EnableClientScript = True
PlaceHolder.Controls.Add(val)
End Sub
End Class
あなたがヒットすると次に、クライアント側の検証は実行されません。本当に変わったのは、別の更新パネル内にボタンをラップすると、検証が実行されます(IEやFirefoxでは、ChromeやSafariでは有効ではありません)。
誰でも何が起こっているか考えていますか?私はAsp.net AJAXの最初のバージョンが検証コントロールをサポートしていないことを知っていますが、すべてが私の目的で最新です。
お返事ありがとうございます。私はIEとFirefoxでは動作させることができますが、ChromeやSafariでは動作させることができないので、別の質問を投稿しました。 http://stackoverflow.com/questions/1247032/asp-net-dynamic-validators-dont-work-in-chrome-or-safari –