Произошла ошибка при обработке вашего запроса. MVC 4

1

Я создаю приложение MVC 4, у меня была ошибка, как и следующая.

Изображение 174551

Я пробовал много вещей, но я не могу найти, в чем проблема. Где-то мой источник контроллера

    public ActionResult Index(string EventId)
    {

        HttpCookie cookie = this.ControllerContext.HttpContext.Request.Cookies["User"];

        if (cookie != null)
        {
            string Type = (cookie["Type"] == null || cookie["Type"] == "") ? null : cookie["Type"].ToString();
            string Username = (cookie["Username"] == null || cookie["Username"] == "") ? null : cookie["Username"].ToString();
            ViewBag.Message = Type;
            ViewBag.Username = Username;


            try
            {
                string ReplaceEventID = EventId.Replace('-', '/');

                ViewBag.Message = ReplaceEventID;
                IEnumerable<Job> JobListRelatedToEvent = DBContext.Jobs.Where(x => x.EventId == ReplaceEventID);
                return View(JobListRelatedToEvent);
            }
            catch
            {
                return View();
            }
        }
        else
        {
            return RedirectToAction("Index", "Home");
        }
    }

UPDATE: Когда он запускается на моем локальном компьютере, он работает нормально, но после того, как я опубликовал его на сервере, я получил эту ошибку.

Может ли кто-нибудь рассказать о том, что случилось?

  • 1
    У меня нет большого опыта работы с MVC, но разве вы не перенаправляете на одно и то же действие, тем самым зацикливаясь?
  • 1
    Вы пытались отладить свой метод действия? Если не отлаживать, и если вы получаете какое-либо исключение, опубликуйте его здесь.
Показать ещё 4 комментария
Теги:
asp.net-mvc
asp.net-mvc-4

3 ответа

1

Я столкнулся с той же проблемой, и эта проблема возникает, если пользовательская ошибка включена.

Что вам нужно сделать в файле web.config и добавить код ниже. Таким образом, вы получите фактическую ошибку приложения или уровень кода.

<system.web>
      <customErrors mode="Off" />

Теперь, после установки общей страницы IIS, она покажет ошибку.

0

Я не знаю, поможет ли это вам, но я столкнулся с проблемой, когда действие POST имело [RequireHttps], но GET этого не делал. Это вызвало у меня проблему. Итак, проверьте, что у вас нет ограничений на один глагол, а не на другой, особенно на сообщение формы.

Проблема не показывалась до тех пор, пока я не опубликовал "Производство", потому что директивы DEBUG удалили атрибут [RequireHttps] :)

-2

ПОПРОБУЙ ЭТО:

 public ActionResult Job(string EventId)
        {

            HttpCookie cookie = this.ControllerContext.HttpContext.Request.Cookies["User"];

            if (cookie != null)
            {
                string Type = (cookie["Type"] == null || cookie["Type"] == "") ? null : cookie["Type"].ToString();
                string Username = (cookie["Username"] == null || cookie["Username"] == "") ? null : cookie["Username"].ToString();
                ViewBag.Message = Type;
                ViewBag.Username = Username;


                try
                {
                    string ReplaceEventID = EventId.Replace('-', '/');

                    ViewBag.Message = ReplaceEventID;
                    IEnumerable<Job> JobListRelatedToEvent = DBContext.Jobs.Where(x => x.EventId == ReplaceEventID);
                    return View(JobListRelatedToEvent);
                }
                catch
                {
                    return View();
                }
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
  }
  • 2
    Почему? Укажите, в чем проблема, когда публикуете ответ, а не просто публикуйте блок кода. Кроме того, единственное отличие, которое я вижу, это то, что вы добавили return View(); утверждение в точке, где код недоступен.
  • 0
    Пожалуйста, объясните, что делает ваш ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню