Эти ошибки появляются в функции входа в систему.

UserInfo(v.user_name, v.user_fname, v.user_bloodGp, v.user_nationality, v.usertype, v.status, v.gender, v.usercnic, v.user_passport, v.mobilenumber);

v.user_passport, v.mobilenumber подчеркнут, и эти ошибки отображаются.

Ошибка: аргумент 9: невозможно преобразовать из строки в int

Ошибка: аргумент 10: невозможно преобразовать из int в string

Красные линии показаны в v.user_passport, v.mobilenumber); два параметра.

 [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult Login(User User)
            {
                var v = db.Users.Where(modal => modal.user_name.Equals(User.user_name)).Where(modal => modal.user_passport.Equals(User.user_passport)).SingleOrDefault();


                if (v != null)
                {
                    UserInfo(v.user_name, v.user_fname, v.user_bloodGp, v.user_nationality, v.usertype, v.status, v.gender, v.usercnic, v.user_passport, v.mobilenumber);
                    return RedirectToAction("Index");

                }
                return RedirectToAction("Wrongpassword");
            }


            public ActionResult UserInfo(string user_name,string user_fname,string usercnic,string user_passport,string user_bloodGp,string user_nationality,string usertype,string status,int mobilenumber,string gender)
            {
                Session["user_name"] = user_name;
                Session["user_fname"] = user_fname;
                Session["user_cnic"] = usercnic;
                Session["user_passport"] = user_passport;
                Session["user_bloodGp"] = user_bloodGp;
                Session["user_nationality"] = user_nationality;
                Session["usertype"] = usertype;
                Session["status"] = status;
                Session["mobilenumber"] = mobilenumber;
                Session["gender"] = gender;

                return new EmptyResult();
            }
1
user9312590 24 Фев 2018 в 20:05

4 ответа

Лучший ответ

Вы не передаете параметры в правильном порядке, измените свой вызов так:

UserInfo(v.user_name, v.user_fname, v.usercnic, v.user_passport, v.user_bloodGp, v.user_nationality, v.usertype, v.status,  v.mobilenumber, v.gender);

Если вы не используете именованные параметры, вы всегда должны быть осторожны с порядком параметров при вызове функции / метода

2
AMINCHAR 24 Фев 2018 в 18:16

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

UserInfo(v.user_name, v.user_fname, v.user_bloodGp, v.user_nationality, v.usertype, v.status, v.gender, v.usercnic, v.user_passport, int.Parse(v.mobilenumber));
0
AMINCHAR 24 Фев 2018 в 17:26

Его ошибка во время выполнения. строка передается в переменную, где ожидается целое число, и она пытается преобразовать строку в целое число, вызывая недопустимое исключение приведения. исправить порядок передаваемых параметров.

0
user9405863 26 Фев 2018 в 07:14

Вы можете передать только переменную v в функцию UserInfo вместо передачи всех этих параметров

1
simoha 25 Фев 2018 в 11:43