Как отобразить параметр только по идентификатору роли - PullRequest
0 голосов
/ 30 мая 2019

У меня проблема при отладке кода. Пользователь зарегистрировал поле и попал на другую страницу.Но при переходе на другую страницу все параметры были включены в URL .. пример: http://localhost:56767/Pendaftaran/VerifyEmail?Role=3&FirstName=Abu&LastName=Mutalib&ICNumber=8812511469&Gender=1&Email=abu%40gmail.com&Password=aaabbb&ConfirmPassword=aaabbb&State=16&MobileNumber=012-7415511

Это использует хранимую процедурную базу данных на сервере sql.

[HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult AddParticipant(RegistrationModel obj)
    {
        try
        {

            if (ModelState.IsValid)
            {

                if (this.IsCaptchaValid("Captcha is not valid")) //Added Captcha 17 May 2019 -Aidil-
                {


                    if (obj.Role == 2) //Add if else for club 17 May 2019 -Aidil-
                    {
                        if (obj.CLubRegistration != null) 
                        {

                            //Add Stored Procedured -Aidil- 15 May 2019
                            connection();
                            SqlCommand com = new SqlCommand("uspRegisterParticipant", con);
                            com.CommandType = CommandType.StoredProcedure;
                            com.Parameters.AddWithValue("@Role", obj.Role);
                            com.Parameters.AddWithValue("@ClubReg", obj.CLubRegistration); //Added ClubRegistration 16 May 2019 -Aidil-
                            com.Parameters.AddWithValue("@FirstName", obj.FirstName);
                            com.Parameters.AddWithValue("@LastName", obj.LastName);
                            com.Parameters.AddWithValue("@ICNumber", obj.ICNumber);
                            com.Parameters.AddWithValue("@Gender", obj.Gender);
                            com.Parameters.AddWithValue("@Email", obj.Email);
                            com.Parameters.AddWithValue("@Password", obj.Password);
                            com.Parameters.AddWithValue("@State", obj.State);
                            com.Parameters.AddWithValue("@MobileNumber", obj.MobileNumber);  //Added MobileNumber 16 May 2019 -Aidil-
                            con.Open();
                            int i = com.ExecuteNonQuery();
                            con.Close();

                            //End Added Stored Procedured -Aidil- 15 May 2019

                        }

                    }
                    else
                    {
                        connection();
                        SqlCommand com = new SqlCommand("uspRegisterParticipant", con);
                        com.CommandType = CommandType.StoredProcedure;
                        com.Parameters.AddWithValue("@Role", obj.Role);
                        com.Parameters.AddWithValue("@FirstName", obj.FirstName);
                        com.Parameters.AddWithValue("@LastName", obj.LastName);
                        com.Parameters.AddWithValue("@ICNumber", obj.ICNumber);
                        com.Parameters.AddWithValue("@Gender", obj.Gender);
                        com.Parameters.AddWithValue("@Email", obj.Email);
                        com.Parameters.AddWithValue("@Password", obj.Password);
                        com.Parameters.AddWithValue("@State", obj.State);
                        com.Parameters.AddWithValue("@MobileNumber", obj.MobileNumber);  //Added MobileNumber 16 May 2019 -Aidil-
                        con.Open();
                        int i = com.ExecuteNonQuery();
                        con.Close();
                        //End Added Stored Procedured -Aidil- 15 May 2019
                    }

                    return RedirectToAction("VerifyEmail", obj); //Update RedirectAction 27 May 2019 -Aidil-

                }
                ViewBag.ErrMessage = "Error: captcha is not valid.";
                //return View();

            }


            return View(); 


        }
        catch (Exception e)
        {
            Console.WriteLine("{0} Exception caught.", e);
            return View();
        }

    }



    // GET: Pendaftaran/VerifyEmail
    //Added VerifyEmail 27 May 2019 -Aidil-
    [HttpGet]
    public ActionResult VerifyEmail(EmailVerificationModel obj)
    {
        try
        {

            //Add Stored Procedured -Aidil- 27 May 2019
            connection();
            SqlCommand com = new SqlCommand("uspDisplayNameForVerification", con);
            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.AddWithValue("@FirstName", obj.FirstName); //Added called from AddParicipant 28 May 2019 -Aidil-
            com.Parameters.AddWithValue("@LastName", obj.LastName); //Added called from AddParicipant 28 May 2019 -Aidil-

            con.Open();
            //int i = com.ExecuteNonQuery();
            SqlDataAdapter da = new SqlDataAdapter(com);
            con.Close();
            return View(obj); //Update view () to view(obj) -Aidil- 29 May 2019

        }

       catch (Exception e)
        {
            Console.WriteLine("{0} Exception caught.", e);
            return View();
        }
    }
    //End Added VerifyEmail 27 May 2019 -Aidil-

}

Предположительно я хочу показать только это: http://localhost:56767/Pendaftaran/VerifyEmail?Role=3

не так, как этот: http://localhost:56767/Pendaftaran/VerifyEmail?Role=3&FirstName=Abu&LastName=Mutalib&ICNumber=8812511469&Gender=1&Email=abu%40gmail.com&Password=aaabbb&ConfirmPassword=aaabbb&State=16&MobileNumber=012-7415511

1 Ответ

0 голосов
/ 30 мая 2019

Вы передаете весь объект во время перенаправления, то есть obj, который будет указывать все параметры, которые вы можете просто передать обязательное поле

try

  return RedirectToAction("VerifyEmail", obj.Role);

это примет параметр роли в качестве строки запроса дляследующая страница.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...