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