Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.net登录控件帮助_C#_Asp.net_Visual Studio 2008 - Fatal编程技术网

C# ASP.net登录控件帮助

C# ASP.net登录控件帮助,c#,asp.net,visual-studio-2008,C#,Asp.net,Visual Studio 2008,我正在VisualStudio2008中使用E提供的登录控件。我试图创建一些failuretext并在登录错误时显示它,但我永远无法显示失败文本。谁能给我一个关于这个控件如何工作的简要介绍 为什么失败文本不会显示出来?谢谢你的帮助 下面是一些简单的代码 protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) { try {

我正在VisualStudio2008中使用E提供的登录控件。我试图创建一些failuretext并在登录错误时显示它,但我永远无法显示失败文本。谁能给我一个关于这个控件如何工作的简要介绍

为什么失败文本不会显示出来?谢谢你的帮助

下面是一些简单的代码

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
        {
            try
            {
               //user object that does the user validation
                _clsUser = new AdvantageUI.Classes.User();
                _clsUser.ValidateLoginAttempt(lgnLogin.UserName, lgnLogin.Password);  //if login failed exception thrown with error text.

                e.Authenticated = true;
//for use on additional pages as we will want to make sure user is valid and logged in.
                Session.Add("User", _clsUser);

            }
            catch (Exception ex)
            {
                lgnLogin.FailureText=ex.Message;

                //lgnLogin.DataBind();
            }

                Response.Redirect("ACBAdmin.aspx");
        }

您正在尝试/捕获后重定向。

使用
try…catch
异常来处理您的控制流不是一个好的做法。从来没有理由使用名为
Classes
的名称空间,因为就名称空间而言,我是懒惰的。谢谢你指出这些。至于不使用try…catch。可能发生3个错误。当其中一个事件发生时,您是否可以使用case语句或其他方法来控制流程?我尝试在try-catch之前在失败文本中添加一些虚假的垃圾,但它没有显示出来?这只是一个一般性的观察。我不熟悉
AdvantageUI
库,但是如果
validateLogInTest
返回一个布尔值,则应使用
if..else
检查该值。如果您知道有三个异常,那么在使用
catch all
异常之前,应该分别捕获每个异常。这不是强制性的,只是对更干净代码的一个建议:)我不确定这对填充failuretext属性有何影响,但我将其移动到了try catch中,当登录尝试失败时仍然没有failuretext?