Response.Redirect(“Default.aspx”);不工作
用户注册之后我尝试将客户端重定向到默认页面,并做到这一点似乎在提交按钮结束要加入这一行的最简单的方法:Response.Redirect(“Default.aspx”);不工作
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;
}
}
}
我必须知道注册页面在哪里? Default.aspx是在不同的文件夹?
但试试这个
Response.Redirect("../Default.aspx");
或
Response.Redirect("~/Default.aspx");
我希望这有助于。
试过两个,他们在同一个目录。我开始想我应该重新启动VS. – octohedron 2013-04-29 11:56:28
你试图跟踪代码?也许有错误? – 2013-04-29 11:57:43
右键单击解决方案资源管理器中的项目文件夹,然后单击清理 – Rahul 2013-04-29 11:57:47
据我所知,提交按钮将导致一个回发,它将执行您的代码,然后重新加载页面。尝试将此添加到您的Page_Load中:
Response.Redirect("Default.aspx");
仍然不能正常工作 – octohedron 2013-04-29 11:31:33
重定向已经在点击按钮内(仅在回发站上被调用) – Aristos 2013-04-29 11:31:41
IsPostBack在这种情况下没有任何作用.... – Rahul 2013-04-29 11:33:55
你确定你实际提交的数据?你有没有放置一个断点,并看到事件处理程序被解雇? – Oded 2013-04-29 11:23:22
试试这个 - >'Response.Redirect(“〜/ Default.aspx”,true);' – Elyor 2013-04-29 11:23:47
你确定路径正确吗? Default.aspx必须与当前页面位于同一文件夹中。 – guilhermecgs 2013-04-29 11:24:01