다음을 수행하려고합니다. - 처리기에서 함수 JQuery를 호출합니다. - 처리가 완료되면 페이지로 리디렉션합니다.처리기에서 리디렉션 처리기가 작동하지 않습니다.
문제는 페이지가로드되지 않는 것입니다.
가장 명확하게하기 위해 다음 코드를 작성했습니다.
/// <summary>
/// Summary description for MyFunction
/// </summary>
public class MyFunction : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write(context.Request["HelloWorld"]);
context.Response.Redirect("~/Login/WebForm1.aspx");
}
public bool IsReusable
{
get
{
return false;
}
}
}
그것은 내 페이지 "로그인/WebForm1.aspx를"이라고해야하지만, 그것은 아무것도를 호출하지 :
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="WebApplication3._Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript" src="js/jquery-ui.js"></script>
<script type="text/javascript" src="js/jquery.js""></script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<script type="text/javascript" language="javascript">
function CallHandler() {
console.info("Entering CallHandler");
$.ajax({
type: 'POST',
url: "Handlers/MyFunction.ashx",
data: { helloworld: 'hello world'},
success: function (data) {
console.info(data);
}
});
}
</script>
<asp:HyperLink runat="server" ID="linkForTest" onclick='CallHandler();' Text='Click Me' />
</asp:Content>
내 핸들러는 다음과 같다. 그러나 Firebug는 문제를 찾지 못하는 것 같습니다 ... 그냥 페이지를로드하려고 계속합니다 ... 실패했습니다.
아이디어가 있으십니까?
해당 루핑 예. request.Url이 정확합니다. 동료는 호출 페이지에서가 아니라 처리기에서 페이지의 리다이렉션을하려고한다는 사실 때문에 문제가 발생한다고 말했습니다. – PetersLast
그래서 리디렉션하려는 페이지에 이미있는 경우 리디렉션 if (! request.Url.EndsWith ("Login/WebForm1.aspx"))를 호출하지 마십시오. context.Response.Redirect ("~/Login /WebForm1.aspx "); –
이 페이지에 없습니다. 저는 실제로 페이지에 있습니다 : "~/Default/Default.aspx"그리고 "~/Login/Login.aspx"에 가고 싶습니다. – PetersLast