2017-02-23 31 views
0

我在asp.net C#中工作。我已经创建了登录页面,我在其中使用验证来检查用户名或密码是否为空。布每次我点击这里注册链接它显示我输入用户名或密码。我附上代码和图片请帮助。此外,我已经使用链接按钮在这里注册链接。 enter image description here在此处注册链接按钮不起作用?

这里是login.aspx.cs文件代码。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.SqlClient; 
using System.Configuration; 
using System.Data; 

namespace Dots 
{ 
    public partial class Login : System.Web.UI.Page 
    { 

     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 


     protected void Button1_ClickLogin(object sender, EventArgs e) 
     { 
      SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ConnectionString); 
      conn.Open(); 

      string checkUser = "Select count(*) from Registeration where UserName = @username and Password = @pass"; 
      SqlCommand sq = new SqlCommand(checkUser, conn); 
      sq.Parameters.AddWithValue("@username", TextBoxUserName.Text); 
      sq.Parameters.AddWithValue("@pass", TextBoxPassword.Text); 
      SqlDataAdapter da = new SqlDataAdapter(sq); 
      DataTable dt = new DataTable(); 
      da.Fill(dt); 
      if (dt.Rows.Count > 0) 
      { 
       Response.Redirect("default.aspx"); 
      } 
      else 
      { 
       ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Username and Password')</script>"); 
      } 
      conn.Close(); 
     } 
     protected void LinkButton1_Click(object sender, EventArgs e) 
     { 

      Response.Redirect("Registeration.aspx"); 

     } 

    } 
} 

这是我的aspx代码。

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Dots.Login" %> 


<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <link rel ="stylesheet" type="text/css" href="~/Styles/StyleSheet1.css" /> 
    <br /><br /> 
    <center> 
    <div class="Login"> 
     <br /> 
     <div class="Login_Form"> 
      <h1>Secure Login</h1> 
      <div class="Table"> 

       <table style="width: 100%; height: 161px;"> 
        <tr> 
         <td style="font-size: medium; width: 127px"><strong style="text-align: right">UserName</strong></td> 
         <td style="width: 176px"> 
          <asp:TextBox ID="TextBoxUserName" runat="server" Width="180px" CssClass="Login_un" Height="22px"></asp:TextBox> 
         </td> 
         <td> 
          <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Please enter Username" ControlToValidate="TextBoxUserName" ForeColor="Red"></asp:RequiredFieldValidator> 
         </td> 
        </tr> 
        <tr> 
         <td style="width: 127px"><strong>Password</strong></td> 
         <td style="width: 176px"> 
          <asp:TextBox ID="TextBoxPassword" runat="server" Width="180px" CssClass="Login_un" TextMode="Password" Height="22px"></asp:TextBox> 
         </td> 
         <td> 
          <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="Please enter Password" ControlToValidate="TextBoxPassword" ForeColor="Red"></asp:RequiredFieldValidator> 
         </td> 
        </tr> 
        <tr> 
         <td style="width: 127px">&nbsp;</td> 
         <td style="width: 176px"> 
          <asp:Button ID="Button1" runat="server" OnClick="Button1_ClickLogin" CssClass="Login_btn" Text="Button" /> 
         </td> 
         <td>&nbsp;</td> 
        </tr> 
        <tr> 
         <td style="width: 127px; height: 23px;"></td> 
         <td style="width: 176px; height: 23px;"> 
          <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">New User? Register Here</asp:LinkButton> 
         </td> 
         <td style="height: 23px"></td> 
        </tr> 
       </table> 

      </div> 

     </div> 

    </div> 
    </center> 

</asp:Content> 
+0

也许你需要添加APSX标记。 – Steve

+0

分享你的'.aspx'代码。 –

+0

我已添加.aspx代码 – smartF

回答

0

更改此代码:

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">New User? Register Here</asp:LinkButton> 

到:

<a href="Registeration.aspx">New User? Register Here</a> 
+0

它工作谢谢 – smartF

0

变化:

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click" >New User? Register Here</asp:LinkButton> 

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click" ValidateRequestMode="Disabled">New User? Register Here</asp:LinkButton> 

下面是一些额外的反馈。

我会建议围绕try/catch/finally,所以如果你重定向你关闭连接到数据库,而不是让它打开,如果你重定向。这只是一个好习惯。

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ConnectionString); 
     try { 
      conn.Open(); 
      string checkUser = "Select count(*) from Registeration where UserName = @username and Password = @pass"; 
      SqlCommand sq = new SqlCommand(checkUser, conn); 
      sq.Parameters.AddWithValue("@username", TextBoxUserName.Text); 
      sq.Parameters.AddWithValue("@pass", TextBoxPassword.Text); 
      SqlDataAdapter da = new SqlDataAdapter(sq); 
      DataTable dt = new DataTable(); 
      da.Fill(dt); 
      if (dt.Rows.Count > 0) { 
       Response.Redirect("default.aspx"); 
      } else { 
       ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Username and Password')</script>"); 
      } 
     } finally { 
      conn.Close(); 
     } 
+0

它不起作用 – smartF