我有一个aspx页面(登录页面)。当用户输入userno& pw字段并单击“确定”按钮,用户重定向到Default.aspx页面。如果用户未成功登录,则会显示标签控件(在代码隐藏中Label.visible将为true)。
以某种方式Visible = true不起作用。
这是Html:
<%@ 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");
}
}
}
}
}
你能帮忙吗,谢谢。
答案 0 :(得分:1)
您正在将用户重定向到另一个页面。设置可见性的代码甚至永远不会运行;重定向的行为会停止页面的呈现。如果您没有重定向,那么您会看到标签的可见性发生变化。