asp.net + ajax + httpmodule에 손을 잡고 있습니다.asp.net ajax + http 모듈이 실패합니다.
내 양식
<form id="LoginForm" runat="server">
<asp:ScriptManager ID="LoginScriptMgr" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="LoginPanel" runat="server">
<ContentTemplate>
<asp:Label ID="lblLoginHeader" Text="Login" runat="server"></asp:Label>
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
<asp:Button ID="btnLogin" Text="Login" runat="server" OnClick="Login" />
<asp:Label ID="lblLoginStatus" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
C# 코드
protected void Login(object sender, EventArgs e)
{
lblLoginStatus.Text = "Login Successful";
}
의 Web.config
<httpModules>
<add name="TimeModule" type="MyWebPortal.App_Code.TimeModule,App_Code"/>
</httpModules>
HTTP 모듈
public class TimeModule : IHttpModule
{
private HttpApplication oApps = null;
public void Dispose()
{
}
public void Init(System.Web.HttpApplication context)
{
oApps = context;
context.PreSendRequestContent += new EventHandler
(context_PreSendRequestContent);
}
void context_PreSendRequestContent(object sender, EventArgs e)
{
string message = "<!-- This page is being processed at " + System.DateTime.Now.ToString() + " -->";
oApps.Context.Response.Output.Write(message);
}
}
난 내 아약스 작품의 Web.config에서 TimeModule를 제거합니다. TimeModule을 추가하면 레이블에 "Login Successful"메시지가 표시되지 않습니다.
ajax 패널을 제거하고 httpmodule을 사용할 수 있으면 레이블에 메시지가 표시됩니다. 그렇다면 아약스 패널이 httpmodules와 어떻게 연관되어 있었습니까?
줄 변경 : context.PostRequestHandlerExecute + = 새 EventHandler (context_PreRequestHandlerExecuteContent); 아직도 지금 o/p –