处理您的请求时发生错误。 MVC 4

时间:2014-06-19 07:18:22

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我正在创建一个MVC 4应用程序,我有如下错误。

enter image description here

我尝试了很多东西,但我找不到问题所在。我的控制器源代码

    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");
        }
    }

更新 当它在我的本地机器上运行时它工作正常,但在我发布到服务器后我得到了这个错误。

谁能说出错是什么意思?

3 个答案:

答案 0 :(得分:7)

我遇到了同样的问题,如果启用了自定义错误,我们会遇到此问题。

您需要在web.config中执行更改并添加以下代码。 因此,您将获得应用程序的实际错误或代码级别。

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

现在已经发布了IIS的通用页面,它将显示错误。

答案 1 :(得分:0)

我不知道它是否会对你有所帮助,但我遇到了POST动作有[RequireHttps]的问题,但GET没有。这给我带来了问题。因此,请检查您对一个动词没有限制,而不是对另一个动词有限制,特别是对于表单帖子。

在我发布到Production之前,问题没有显示,因为DEBUG指令删除了[RequireHttps]属性:)

答案 2 :(得分:-3)

尝试这个:

 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");
            }
  }