在当地它有效,我知道它“它适用于我的机器”综合症但我不明白为什么。
简单的网页,字段,必填字段验证器,例如
<asp:textbox id="tbEmail" runat="server" CssClass="field"></asp:textbox> <asp:requiredfieldvalidator id="Requiredfieldvalidator2" runat="server" Display="Dynamic" ControlToValidate="tbEmail" ErrorMessage="Email is required" CssClass="required"></asp:requiredfieldvalidator>
按钮
<asp:button id="btnSendRequest" runat="server" Text="Submit" CausesValidation="True"></asp:button>
本地触发并且代码没有运行,在已部署的版本上,验证器不会触发并且代码会运行。
应该很简单但是我已经盯着它看了太久。
谢谢大家 - 塔里克
答案 0 :(得分:1)
我在考虑同样的事情 - asp_regiis将在您网站的根目录中创建aspnet_client文件夹。还要注意报告的javascript错误,它们将有助于诊断。
答案 1 :(得分:0)
我不确定这是否与您的.NET版本相关,但您可能必须在服务器上运行aspnet_regiis -i才能安装脚本以进行验证。请在做任何事之前仔细检查一下:)
我希望这能让你朝着正确的方向前进。
http://msdn.microsoft.com/en-us/library/k6h9cz8h(VS.80).aspx
答案 2 :(得分:0)
在这种情况下,我发现将本地获得的原始HTML输出与部署的服务器上的输出进行比较会很有帮助。正如埃里克指出的那样,你可能错过了已部署版本的验证javascript ......但这肯定会告诉你。
答案 3 :(得分:0)
区别可能是在本地测试中,您正在触发客户端验证器,而在服务器上只有服务器端。 确保在方法中添加IsValid,例如:
void MyClickHandler(object sender, EventArgs e)
{
if( IsValid)
{
//rest of the code
}
}
答案 4 :(得分:0)
安装Fiddler:Fiddler并观看流量。加载页面时是否收到任何404或500 HTTP错误?它可能试图加载必要的客户端验证文件,但遇到问题。