【发布时间】:2015-04-20 07:52:29
【问题描述】:
我正在使用 jQuery AJAX 提交表单并进行客户端验证。 当 AJAX 请求由通用处理程序 (.ashx) 而不是 Web 表单 (.aspx) 处理时,是否可以(以及如何)使用 ASP.NET 4.5 验证控件?
这里有一些代码可以让我的问题更清楚。我希望能够做这样的事情:
HTML
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs"
Inherits="Test" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-2.1.3.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<input type="text" id="Name1" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="validateName1" ControlToValidate="Name1" OnServerValidate="Name1_ServerValidate">*</asp:CustomValidator>
<br />
<input type="file" multiple="multiple" style="width: 195px;" />
<br />
<input type="button" id="btnSendEmail" value="Send" />
</form>
</body>
</html>
JavaScript
$.ajax({
url: "TestAjaxHandler.ashx",
type: "POST",
...
})
TestAjaxHandler.ashx
public class TestAjaxHandler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
}
protected void Name1_ServerValidate(object source, ServerValidateEventArgs args {
// Here goes validation logic
}
public bool IsReusable {
get {
return false;
}
}
}
【问题讨论】:
-
给我们一些代码/示例也许是件好事。
-
我认为我对正常的回发很紧张,我认为在使用 jquery ajax 时你不能这样做。
标签: asp.net ajax validation ashx