在这里注册链接按钮不起作用?

时间:2017-02-23 08:01:44

标签: c# asp.net webforms

我在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>

2 个答案:

答案 0 :(得分: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();
        }

答案 1 :(得分: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>