对于学校项目,我被分配使用c#或asp.net制作一个简单的登录表单。我使用Response.Redirect()
,但是每当我单击按钮时,它只会刷新登录页面,而不会定向到另一个页面。有人可以帮我吗?
这是login_page.aspx中登录按钮的源代码:
<asp:Button ID="btnLogin" runat="server" Height="34px" Text="Login" Width="102px" OnServerClick="btnLogin_Click"/>
这是背后的代码:
using System;
using System.Web;
using System.Data;
using System.Text;
namespace WebApplication1
{
public partial class LoginPage : System.Web.UI.Page
{
public string txtUserName { get; private set; }
public string txtPassword { get; private set; }
public object lblPassword { get; private set; }
public object lblUsername { get; private set; }
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnLogin_Click(object sender, EventArgs e)
{
if (txtUserName == "admin" && txtPassword == "password")
{
Response.Redirect(url: "admin_page.aspx");
}
else
{
Response.Redirect(url: "not_page.aspx");
}
}
}
}
答案 0 :(得分:2)
如果您使用的是asp:Button控件,则它没有任何称为OnServerClick的事件。它与HTML Button
关联asp:按钮控件具有用于处理服务器端单击事件的OnClick和用于处理客户端单击事件的OnClientClick。
希望这可以澄清。
答案 1 :(得分:1)
尝试一下。应该是onClick事件。
<asp:Button ID="btnLogin" runat="server" Height="34px" Text="Login" Width="102px" onClick="btnLogin_Click"/>
protected void btnLogin_Click(object sender, EventArgs e)
{
if (txtUserName == "admin" && txtPassword == "password")
{
Response.Redirect("~/admin_page.aspx");
}
else
{
Response.Redirect("~/not_page.aspx");
}
}
答案 2 :(得分:0)
Response.Redirect("~/admin_page.aspx");
删除:url:
并添加相对路径~/
或在 .aspx 文件中使用PostBackUrl
。
<asp:Button ID="btnLogin" runat="server" Height="34px" Text="Login" Width="102px" OnServerClick="btnLogin_Click" PostBackUrl="~/admin_page.aspx" />