1

在用户注册后,我试图将客户端重定向到默认页面,最简单的方法似乎是在提交按钮的末尾添加这一行:

Response.Redirect("Default.aspx");

但它不起作用,它保持在同一页面中而没有显示任何错误。

我也尝试过:

Server.Transfer("Default.aspx");

没有任何运气。

这是完整的代码。

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.Data;

namespace Carnisoftix
{
    public partial class Register : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            carniuser oUsr = new carniuser();
            oUsr.Email = txtEmail.Text;
            oUsr.Name = txtName.Text;
            oUsr.Pass = txtPassword.Text;
            oUsr.Phone = txtPhone.Text;
            oUsr.Usrname = txtUsername.Text;
            oUsr.Address = txtAddress.Text;
            oUsr.SpecialK = Convert.ToInt16(txtSpecial.Text);
            oUsr.Auth = 1;
            regUsr(oUsr);

            Response.Redirect("Default.aspx");
        }
        public static int regUsr(carniuser oUsr)
        {
            int oNum;
            SqlConnection oConnection = new SqlConnection("Server=.\\SQLExpress;AttachDbFilename=L:\\Apps\\VS Projects\\Carnisoftix\\CarniDb.mdf;Database=CarniDb;Trusted_Connection=Yes;");
            string oSql = "ADDUSR";
            SqlCommand oCom = new SqlCommand(oSql, oConnection);
            oCom.CommandType = CommandType.StoredProcedure;
            oCom.Parameters.AddWithValue("@useremail", oUsr.Email);
            oCom.Parameters.AddWithValue("@userpass", oUsr.Pass);
            oCom.Parameters.AddWithValue("@name", oUsr.Name);
            oCom.Parameters.AddWithValue("@phone", oUsr.Phone);
            oCom.Parameters.AddWithValue("@address", oUsr.Address);
            oCom.Parameters.AddWithValue("@username", oUsr.Usrname);
            oCom.Parameters.AddWithValue("@authority", oUsr.Auth);
            oCom.Parameters.AddWithValue("@special", oUsr.SpecialK);
            SqlParameter oReturn = new SqlParameter("@out", SqlDbType.Int);
            oReturn.Direction = ParameterDirection.ReturnValue;
            oCom.Parameters.Add(oReturn);
            oConnection.Open();
            oCom.ExecuteNonQuery();
            oNum = (int)oCom.Parameters["@out"].Value;
            oConnection.Close();
            return oNum;
        }
    }
    /*@useremail,
    @username,
    @userpass,
    @name,
    @phone,
    @address,
    @authority,
    @special*/
    public class carniuser
    {
        private string email, usrname, pass, name, phone, address;
        private int authority, specialK;
        public carniuser()
        {
            email = "";
            usrname = "";
            pass = "";
            name = "";
            phone = "";
            address = "";
            authority = 1;
            specialK = 1;
        }
        public string Email
        {
            get { return email; }
            set { email = value; }
        }
        public string Pass
        {
            get { return pass; }
            set { pass = value; }
        }
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        public string Phone
        {
            get { return phone; }
            set { phone = value; }
        }
        public string Address
        {
            get { return address; }
            set { address = value; }
        }
        public string Usrname
        {
            get { return usrname; }
            set { usrname = value; }
        }
        public int Auth
        {
            get { return authority; }
            set { authority = value; }
        }
        public int SpecialK
        {
            get { return specialK; }
            set { specialK = value; }
        }

        public carniuser(string email, string usrname, string pass, string name, string phone, string address, int authority, int specialK)
        {
            //string _email = email;
            Email = email;
            Usrname = usrname;
            Pass = pass;
            Name = name;
            Phone = phone;
            Address = address;
            Auth = authority;
            SpecialK = specialK;
        }
    }
}
4

2 回答 2

2

我必须知道注册页面在哪里?Default.aspx 在不同的文件夹中?

但是试试这个

Response.Redirect("../Default.aspx");

或者

Response.Redirect("~/Default.aspx");

我希望这有帮助。

于 2013-04-29T11:51:40.017 回答
-1

据我记得,提交按钮将导致回发,这将执行您的代码,然后重新加载页面。尝试将此添加到您的 Page_Load:

Response.Redirect("Default.aspx");
于 2013-04-29T11:26:15.533 回答