我正在开发一个Intranet桌面应用程序,大多数功能都需要一个Web界面来配合它。第一次迭代的桌面部分非常完整,现在我必须在WebForms中完成。我在一年多的时间里没有触及WebForms,我在想...... ...
如果我有一个带有一些文本框的表单,我意识到我可以使用javascript和whatnot进行代码验证,但有没有办法可以像WinForms一样做到这一点? WinForms文本框具有在用户离开texbox时调用的Validating方法。在桌面应用程序上,我已将其设置为在属性设置中进行验证的类实例属性。有没有办法可以在WebForms中做同样的事情,还是我必须在客户端再写一遍? ASP TextBoxes有一个textchanged方法,但我没有看到验证。我想你们会说我必须在客户端再写一遍,但这是希望。
答案 0 :(得分:1)
您无需从头开始。 Asp.Net有几个内置的验证器来协助数据类型,范围,字段之间的比较,必填字段,甚至是错误摘要。 See this link for more info
您还可以使用CustomValidator控件在此验证模型中使用自己的javascript。
w3schools.com有一个非常好的教程here
已编辑:避免回发
您可以使用UpdatePanel包装TextBox以使用Ajax,或者如果您想提高效率,可以使用jQuery调用WebMethod并设置对象。例如:
[WebMethod(EnableSession = true)]
public static string MyWebMethod(String someVar)
{
HttpContext.Current.Session["someVar"] = someVar;
}
在客户端:
$.ajax({
type: "POST",
url: 'Page.aspx/MyWebMethod',
data: "{ someVar: 'valueFromTextBox' }",
contentType: 'application/json; charset=utf-8',
success: function (data) {
//alert(data);
}
});