столкнулся с ошибкой при регистрации btn

#c# #asp.net

#c# #asp.net

Вопрос:

Когда я заполняю регистрационную форму и нажимаю на кнопку, чтобы перейти на панель пользователя, она не переходит на панель пользователя, она зависает при регистрации. В коде пользовательской панели за ним отображается это сообщение:

Object reference not set to an instance of an object.

 protected void btnSave_Click(object sender, EventArgs e)
    {
        SqlConnection cn = new SqlConnection(sc);
        SqlCommand cmd = new SqlCommand();

        string sqlstatment = "INSERT INTO UserInfo (UID, FN, LN, Password, RePass, Email,Country, State,City, Post, Img, Logo,RegDate) VALUES (@UID,@FN,@LN,@Password,@RePass,@Email,@Country,@State,@City,@Post,@Img,@Logo,@RegDate)";

        cmd.Connection = cn;
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = sqlstatment;

        //Insert the parameters first
        cmd.Parameters.AddWithValue("@UID", UsrNme.Text);
        cmd.Parameters.AddWithValue("@FN", fnbox.Text);
        cmd.Parameters.AddWithValue("@LN", lnamebox.Text);
        cmd.Parameters.AddWithValue("@Password", passtxtbx1.Text);
        cmd.Parameters.AddWithValue("@RePass", passtxtbx2.Text);
        cmd.Parameters.AddWithValue("@Email", emailbox.Text);
        cmd.Parameters.AddWithValue("@Country", countrdrdolst.SelectedItem.Text);
        cmd.Parameters.AddWithValue("@State", statedrdolst.SelectedItem.Text);
        cmd.Parameters.AddWithValue("@City", citiesdrdolst.SelectedItem.Text);
        cmd.Parameters.AddWithValue("@Post", postbox.Text);
        cmd.Parameters.AddWithValue("@Img", persimgFileUpload1.FileName);
        cmd.Parameters.AddWithValue("@Logo", logoFileUpload.FileName);

        //Get the Current Date Time here
        cmd.Parameters.AddWithValue("@RegDate", DateTime.Now);

        if (!string.IsNullOrEmpty(UsrNme.Text))
        {
            Lblcheckusername.Text = "User Name Already Exist";
            Lblcheckusername.ForeColor = System.Drawing.Color.Red;
        }
        else
        {
            Lblcheckusername.Text = "User Name Available";
            Lblcheckusername.ForeColor = System.Drawing.Color.Green;
        }

        if (persimgFileUpload1.HasFile)
        {
            persimgFileUpload1.SaveAs(Server.MapPath("~/images/users/"   persimgFileUpload1.FileName));
        }

        if (logoFileUpload.HasFile)
        {
            logoFileUpload.SaveAs(Server.MapPath("~/images/Logos/"   logoFileUpload.FileName));
        }

        SqlDataAdapter ad = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        ad.SelectCommand = cmd;
        ad.Fill(ds);
        Response.Redirect("User panel.aspx");
    }
  

Вот кодовая часть панели пользователя, где ошибка появляется в первой строке кода:

 USRNMElbl.Text = Session["UsrNme"].ToString();
if (Session["UsrNme"] != null)
{
}

if (!Page.IsPostBack)
{
    DataTable countrycascd = new DataTable();
    using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["BeravaConnectionString"].ConnectionString))
    {
        SqlDataAdapter adaptar = new SqlDataAdapter("select [countryID],[country] FROM [countr]", con);
        adaptar.Fill(countrycascd);
        countrdrdolst.DataSource = countrycascd;
        countrdrdolst.DataTextField = "country";
        countrdrdolst.DataValueField = "countryID";
        countrdrdolst.DataBind();
    }
    countrdrdolst.Items.Insert(0, new ListItem("Välj land", "0"));
}

if (!Page.IsPostBack)
{
    DataTable Sectiondt = new DataTable();
    using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["BeravaConnectionString"].ConnectionString))
    {
        SqlDataAdapter adaptar = new SqlDataAdapter("select [CateID],[Category] FROM [Section]", con);
        adaptar.Fill(Sectiondt);
        Catedrdoads.DataSource = Sectiondt;
        Catedrdoads.DataTextField = "Category";
        Catedrdoads.DataValueField = "CateID";
        Catedrdoads.DataBind();
    }
    Catedrdoads.Items.Insert(0, new ListItem("Select Section", "0"));
}
}

protected void LinkButton1_Click(object sender, EventArgs e)
{
    MultiView1.ActiveViewIndex = 0;
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
    MultiView1.ActiveViewIndex = 1;
}
protected void LinkButton3_Click(object sender, EventArgs e)
{
    MultiView1.ActiveViewIndex = 2;
}
protected void LinkButton4_Click(object sender, EventArgs e)
{
    MultiView1.ActiveViewIndex = 3;
}
protected void addadsbtn_Click(object sender, EventArgs e)
{
    Guid newGUID = Guid.NewGuid();
    SqlConnection cn = new SqlConnection(sc);
    SqlCommand cmd = new SqlCommand();
    string sqlstatment = "INSERT INTO [ads] ([Section], [Category], [UID], [AdsTit], [AdsDesc], [Country], [State], [City], [AdsPrice], [Img1], [img2], [img3], [img4], [img5], [Wtags]) VALUES (@Section, @Category, @UID, @AdsTit, @AdsDesc, @Country, @State, @City, @AdsPrice, @Img1, @img2, @img3, @img4, @img5, @Wtags)";

    cmd.Connection = cn;
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = sqlstatment;

    //Insert the parameters first
    cmd.Parameters.AddWithValue("@Section", Catedrdoads.SelectedItem.Text);
    cmd.Parameters.AddWithValue("@Category", SubCatedrdoads.SelectedItem.Text);
    cmd.Parameters.AddWithValue("@UID", USRNMElbl.Text);
    cmd.Parameters.AddWithValue("@AdsTit", addadstittxtbx.Text);
    //cmd.Parameters.AddWithValue("@AdsDesc", Editor1.Text);
    cmd.Parameters.AddWithValue("@Country", countrdrdolst.SelectedItem.Text);
    cmd.Parameters.AddWithValue("@State", statedrdolst.SelectedItem.Text);
    cmd.Parameters.AddWithValue("@City", citiesdrdolst.SelectedItem.Text);
    cmd.Parameters.AddWithValue("@AdsPrice", adsaddpristxtbx.Text);
    cmd.Parameters.AddWithValue("@Img1", FileUpload1.FileName);
    cmd.Parameters.AddWithValue("@Img2", FileUploadImg2.FileName);
    cmd.Parameters.AddWithValue("@Img3", FileUploadImg3.FileName);
    cmd.Parameters.AddWithValue("@Img4", FileUploadImg4.FileName);
    cmd.Parameters.AddWithValue("@Img5", FileUploadImg5.FileName);
    cmd.Parameters.AddWithValue("@Wtags", addadswtagtxtbtn.Text);

    SqlDataAdapter ad = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    ad.SelectCommand = cmd;
    ad.Fill(ds);

    Response.Redirect("User panel.aspx");
}
  

Комментарии:

1. В какой строке вы получаете эту ошибку?

Ответ №1:

Проблема может заключаться в том, что ваш сеанс [«UsrNme»] равен нулю

 if (Session["UsrNme"] != null)
{
      USRNMElbl.Text = Session["UsrNme"].ToString();
}
else
{
     return;
}
  

Вы также можете прочитать http://www.codingdefined.com/2014/06/object-reference-not-set.html