日期:2014-05-17  浏览次数:20483 次

asp.net一个登录配置问题,不知道怎么说,请看内容=====================================================
1. 我的登录时采用asp.net的Login控件,如下:
C# code

 <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:Login ID="loginMain" runat="server" BackColor="#F7F7DE" 
                        BorderColor="#CCCC99" BorderStyle="Solid"
                        BorderWidth="1px" Font-Names="Verdana" Font-Size="10pt" DestinationPageUrl="~/Default.aspx"
                        OnLoggingIn="Login1_LoggingIn" OnLoggedIn="Login1_LoggedIn" 
                        OnLoginError="Login1_LoginError" LoginButtonText="登录" PasswordLabelText="密码:" 
                        PasswordRequiredErrorMessage="密码是必需的." RememberMeText="记住我" TitleText="登录" 
                        UserNameLabelText="用户名:" UserNameRequiredErrorMessage="用户名是必需的." 
                        VisibleWhenLoggedIn="False" FailureText="登陆失败,请重试!">
                        <TextBoxStyle Width="120px" />
                        <TitleTextStyle BackColor="#6B696B" Font-Bold="True" ForeColor="#FFFFFF" />
                    </asp:Login>
                </ContentTemplate>
            </asp:UpdatePanel>



2. 我采用了asp.net的Form验证方法,web.config配置如:
XML code

 <authentication mode="Forms">
      <forms name="login" loginUrl="/login.aspx" />
    </authentication>
    <membership defaultProvider="MyMembershipProvider">
      <providers>
        <add name="MyMembershipProvider" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="3" connectionStringName="MyMembershipConnString" applicationName="MyMembership" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" type="System.Web.Security.SqlMembershipProvider" />
      </providers>
    </membership>



3. 我在web.config里配置了统一错误与页面,如:
XML code

 <customErrors mode="On"  defaultRedirect="ErrorPage.aspx">
 </customErrors>



我在Global.asax文件中处理处理错误如下:
C# code

protected void Application_Error(object sender, EventArgs e)
        {
            Server.Transfer("~/ErrorPage.aspx");

        }


当发生错误后就跳到ErrorPage.aspx页面,然后在这个错误页面抓取具体的错误信息,但是现在有一种情况不知道怎么抓取错误信息,就是当服务器配置的ip地址错误时,就无法登陆,但无法显示错误信息,因为我们无法登陆就无法进入到ErrorPage页面,用户只能在登陆界面一直等待,现在要做的就是,当服务器地址配置错误,无法登陆时,我这种情况,应该怎样抓取到错误信息,然后根据错误信息,在Login页面显示一些友好提示,如:请联系管理员,服务器是否配置正确等。我真不知道在这样的环境下怎么弄,忘大侠帮忙~~~~~

------解决方案--------------------
服务器地址配置错误,无法登陆时.那就应该在前台页面js捕获了。
<script language="javascript" type="text/javascript">
try{
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender, args) {
if (args.get_error() != undefined) {

/////判断得到