4
好的,我正在动态创建Asp.net验证控件并将它们插入到更新面板中。验证适用于IE和Firefox,但不适用于Chrome或Safari。Asp.net动态验证器在Chrome或Safari中不起作用
这是aspx文件。不要问我为什么不使用一个按钮服务器控件...
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Always" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
<input id="Button1" type="button" value="submit" onclick='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Button1", "btnNext", true, "", "", false, true))' />
</ContentTemplate>
</asp:UpdatePanel>
</div>
这里是后面的代码:
Dim Survey As New Survey
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Request("__EVENTARGUMENT") = "btnNext" Then
NextClick()
End If
Label1.Text = Date.Now.ToString
End Sub
Private Sub NextClick()
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
有没有人有任何想法如何让这个工作在Chrome和Safari?
像一个魅力一样工作,非常感谢你。我也相信Safari和Chrome都是这样的。 – 2009-08-07 21:44:26
这就是我所希望的,Chrome使用WebKit,但它有它自己的JavaScript引擎,我猜这只是在这个脚本之前根本没有被识别出来,或许你可以用它来解决这个问题。只是一个'App_Browsers'文件,但如果它的工作,它的工作:) – Thorarin 2009-08-07 21:47:44
感谢您的帖子,我有相同的问题在铬版本8.0.552.237。有趣的是,它没有上面的修复工作开始,然后它停止工作。 – TheLukeMcCarthy 2011-01-17 11:59:02