Member 14566485 Ответов: 2

Я получаю эту ошибку.. Системы.исключения StackOverflowException


Я создал операцию CRUD. На странице контроллера я получаю эту ошибку.
В афере.Открытая линия. Не могли бы вы найти и помочь мне?

Что я уже пробовал:

public ActionResult View(GetUserData getUserData)
             {

                List<GetUserData> GetUserData = new List<GetUserData>();
                string DefaultConnection = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
                string query = "SELECT Email,UserName FROM AspNetUsers";
                using (SqlConnection con = new SqlConnection(DefaultConnection))
                {                   
                    using (SqlCommand cmd = new SqlCommand(query))
                    {
                        cmd.Connection = con;
                        con.Open();
                        using (SqlDataReader sdr = cmd.ExecuteReader())
                        {
                            while (sdr.Read())
                            {
                                GetUserData.Add(new GetUserData
                                {
                                    UserName = Convert.ToString(sdr["UserName"]),
                                    Email = Convert.ToString(sdr["Email"])
                                });
                            }
                        }
                    }
                    con.Close();
                }
                return View(getUserData);
             }

F-ES Sitecore

Обычно вы возвращаете View(...) where ... это путь к файлу cshtml или просто View (), который позволяет MVC вычислить путь на основе имени. Если они не работают из-за конфликта с тем фактом, что вы назвали свое действие "View", то самым простым решением, вероятно, является переименование вашего действия во что-то другое.

2 Ответов

Рейтинг:
16

Richard MacCutchan

У вас есть следующий оператор return в конце вашей точки зрения способ:

return View(getUserData);

Таким образом, любой вызов View приведет к бесконечной рекурсии, пока у вас не закончится память или не переполнится стек.


Рейтинг:
1

Dave Kreskowiak

У MVC есть класс под названием "View", поэтому называть свой метод "View" было плохой идеей.

Он также не описывает, что должен возвращать метод. Переименуйте свой метод во что-нибудь другое, и он решит проблему бесконечной рекурсии.