我正在使用asp.net 4.0(网络表单),每当页面回发以验证凭据时,我都会在登录页面上遇到错误,它会显示以下错误。
Sys.WebForms.PageRequestManagerServerErrorException:未知错误 处理服务器上的任务时发生。状态代码 从服务器返回的是:404。
我想告诉大家完整的情景。因为我在我的处理程序中使用server.transer并使用输入followin url来访问登录页面。
这是我的.aspx内容页面,它使用母版页。
<asp:TextBox ID="txtEmail" runat="server" Width="200px" AutoCompleteType="None"></asp:TextBox>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" Width="200px" AutoCompleteType="None"></asp:TextBox>
<asp:Button ID="cmdLogin" runat="server" Text="Login" OnClick="cmdLogin_Click" />
</ContentTemplate>
</asp:UpdatePanel>
这是我的处理程序ProcessRequst
方法
public void ProcessRequest(HttpContext context)
{
string stringRqourl = context.Request.RawUrl;
tbl_contactcompanies tblCustomer = null;
try
{
int lastIndex = stringRqourl.ToLower().LastIndexOf("/");
int lenStart = lastIndex - 1;
int wordLengeth = stringRqourl.Length - lenStart;
string customerCodeName = stringRqourl.Substring(1, stringRqourl.Length - wordLengeth);
tblCustomer = CustomerManager.GetCustomerByWebCode(customerCodeName);
}
catch (Exception)
{
tblCustomer = null;
}
if (tblCustomer == null)
Redirect404Page(context);
else
{
Dictionary<string, string> paramsdic = new Dictionary<string, string>();
paramsdic.Add(ParameterName.CUSTOMER_ID, tblCustomer.ContactCompanyID.ToString());
paramsdic.Add(ParameterName.IS_ALLOW_WEB_ACCESS, tblCustomer.IsAllowWebAccess.ToString());
//Note it is server.transer which creates the following :
// "CorpLogin.aspx?IsAllowWebAcces=1&&CustomerID=123"
HttpContext.Current.Server.Transfer(Utils.BuilQueryString("CorpLogin.aspx", paramsdic));
}
}
以下是我遵循的规定:
第1步: 在url中我键入http://localhost/coprprate123/login并且客户处理程序侦听此类请求并解析id,例如在我的情况下它是123.而sever.transfer将请求转移到CorpLogin.aspx并且url保持不变(那是我的想要实现)
第2步:
通过单击登录按钮提供一些无效的凭据,页面回发,并出现以下js错误。
Sys.WebForms.PageRequestManagerServerErrorException:未知错误 处理服务器上的任务时发生。状态代码 从服务器返回的是:404。
每当我删除更新面板时,都不会在回发时发生这种情况。我坚持使用它并在互联网上搜索了很多。如果有人可以研究这个问题,那就好了
此致 塞勒曼。
答案 0 :(得分:0)
我在更新面板和服务器传输方面遇到了类似的问题。看起来Update面板和Response.Write相互矛盾。尝试使用带asp:PostBackTrigger
触发器的条件更新。
我希望这会有所帮助。
谢谢,
的Ni