2014-09-08 2 views
0

aspx 페이지 (로그인 페이지)가 있습니다. 사용자가 userno & 필드를 입력하고 "확인"버튼을 클릭하면 사용자는 Default.aspx 페이지로 리디렉션합니다. 사용자가 성공적으로 로그인하지 않으면 레이블 컨트롤이 표시됩니다 (코드 숨김에서 Label.visible이 true).Label.Visible = true가 작동하지 않습니다.

아무 래도 Visible = true가 작동하지 않습니다.

<%@ Page Title="" Language="C#" MasterPageFile="~/SiteEntree.master" AutoEventWireup="true" Inherits="WebApp.Login" Codebehind="Login.aspx.cs" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 

     <div id="isDiv"> 
     <div id="divNoteBox"> 
     </div> 
     <div id="loginBox" class="formLayout"> 
      <label>User No: </label><asp:TextBox runat="server" ID="txtUno" /> 
      <br /> 
      <label>Password:</label><asp:TextBox runat="server" ID="txtPw" /> 
      <asp:Label runat="server" Visible="false" ID="lblMsg" Text="a message to warn.." /> 
      <asp:LinkButton runat="server" ID="lbtn" Text="Ok" OnClick="lbtn_Click" CssClass="lbClass" /> 
     </div> 
    </div> 
</asp:Content> 

그리고 Codebehind가 :

public partial class Login : System.Web.UI.Page 
     { 
      protected void Page_Load(object sender, EventArgs e) 
      { 

      } 

    protected void lbtn_Click(object sender, EventArgs e) 
      { 
       using (DBEntities context = new DBEntities()) 
       { 
        int? val = context.checkUser(Convert.ToInt32(txtUno.Text), txtPw.Text).SingleOrDefault(); 
        if(val!=null) 
        { 
         int? r = val; 
         if (r == -1) 
         { 
          Response.Redirect("Login.aspx"); 
          lblMsg.Visible = true; 
         } 
         else if (r == 1) 
         { 
          Response.Redirect("Default.aspx"); 
         } 
       } 
      } 
    } 
} 

당신이하시기 바랍니다, 감사합니다 도움이 될 수

은 html로입니다.

답변

1

사용자를 다른 페이지로 리디렉션 중입니다. 가시성을 설정하는 코드는 실행되지 않습니다. 리다이렉션은 페이지의 렌더링을 중단시킵니다. 리디렉션하지 않으면 레이블의 가시성이 변경되는 것을 볼 수 있습니다.

+0

아니요, 동일한 페이지로 Login.aspx로 리디렉션됩니다. – linda

+0

예, 물론 .. 고마워요. – linda

관련 문제