在我的开发 PC 上,我创建了带有 3 个文本框和一个提交按钮的简单表单。我向文本框和最后一个文本框的时间添加了验证。
<asp:TextBox
ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator
ID="RequiredFieldValidator1" runat="server"
ErrorMessage="Required!" ControlToValidate="TextBox1"
ForeColor="#FF9999"></asp:RequiredFieldValidator>
<br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator
ID="RequiredFieldValidator2" runat="server"
ErrorMessage="Required!" ControlToValidate="TextBox2"
ForeColor="#FF9999"></asp:RequiredFieldValidator>
<br />
<asp:TextBox
ID="TextBox3" runat="server"></asp:TextBox><br />
<asp:RequiredFieldValidator
ID="RequiredFieldValidator3" runat="server"
ErrorMessage="Required!" ControlToValidate="TextBox3"
ForeColor="#FF9999"></asp:RequiredFieldValidator>
<asp:Button ID="Button1" runat="server" Text="Button" />
(并添加 now() 到 textbox3)
在提交表单时,在本地主机(我的开发 PC)上运行时,验证执行良好,没有回发(意味着我在文本框 3 上看不到及时更改)。但是,当我将所有文件上传到服务器时,提交后我会看到验证,但它发生在回发后,我在 textbox3 上看到了一个新时间。我也得到这个 JavaScript 错误:
<input type="submit" name="Button1" value="Button"
onclick="javascript:WebForm_DoPostBackWithOptions(
new WebForm_PostBackOptions(
"Button1",
"",
true,
"", "",
false, false))" id="Button1" />
我究竟做错了什么?解决方案应该处于发布状态还是调试状态?