Asp.net 动态验证控件Don';无法在更新面板中工作
我正在动态创建验证控件并将其添加到更新面板。但是,客户端验证从未启动 以下是aspx文件:Asp.net 动态验证控件Don';无法在更新面板中工作,asp.net,ajax,validation-controls,Asp.net,Ajax,Validation Controls,我正在动态创建验证控件并将其添加到更新面板。但是,客户端验证从未启动 以下是aspx文件: <div> <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server"> <ContentTemplate> <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:Plac
<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>
以下是创建验证控件的类:
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
当您点击next时,客户端验证永远不会启动。真正奇怪的是,当你将按钮包装到另一个更新面板中时,验证会启动(在IE和Firefox中,但在Chrome或Safari中不会)
有人知道发生了什么事吗?我知道Asp.net AJAX的第一个版本不支持验证控件,但在我这方面,一切都是最新的。我发现有两个问题
谢谢你的回复。在玩了一段时间之后,我可以让它在IE和Firefox中工作,但不能在Chrome或Safari中工作,所以我发布了一个单独的问题。
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