我正在创建一个MVC 4应用程序,我有如下错误。
我尝试了很多东西,但我找不到问题所在。我的控制器源代码
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");
}
}
更新 当它在我的本地机器上运行时它工作正常,但在我发布到服务器后我得到了这个错误。
谁能说出错是什么意思?
答案 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");
}
}