WebForms中的验证

时间:2012-05-04 19:20:27

标签: .net winforms validation webforms

我正在开发一个Intranet桌面应用程序,大多数功能都需要一个Web界面来配合它。第一次迭代的桌面部分非常完整,现在我必须在WebForms中完成。我在一年多的时间里没有触及WebForms,我在想...... ...

如果我有一个带有一些文本框的表单,我意识到我可以使用javascript和whatnot进行代码验证,但有没有办法可以像WinForms一样做到这一点? WinForms文本框具有在用户离开texbox时调用的Validating方法。在桌面应用程序上,我已将其设置为在属性设置中进行验证的类实例属性。有没有办法可以在WebForms中做同样的事情,还是我必须在客户端再写一遍? ASP TextBoxes有一个textchanged方法,但我没有看到验证。我想你们会说我必须在客户端再写一遍,但这是希望。

1 个答案:

答案 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);
        }
    });