2017-02-23 30 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