2013-05-04 60 views
1

我完全被这个s困惑,我从来没有遇到过这个。我有所谓的“错误”的共享视图,其输出一个标准的消息和一个自定义消息:返回视图时ViewData为空

@model System.Web.Mvc.HandleErrorInfo 

@{ 
    ViewBag.Title = "Error"; 
} 

<h2> 
    Sorry, an error occurred while processing your request. @{ ViewData["ErrorMessage"].ToString(); } 
</h2> 

里面一个控制器catch块我设置的ViewData到自定义消息:

catch (Exception ex) 
    { 
     ... 
     ViewData["ErrorMessage"] = "This is my custom message"; 
     return View("Error"); 
    } 

然而,当视图加载时,ViewData显示我的键“ErrorMessage”,但从不输出字符串。

回答

2

您的表情不会显示任何内容,因为您没有写出ViewData["ErrorMessage"]作为响应。

随着@{ ... }你创建一个剃须刀代码块,不写任何东西到输出只是执行代码里面。

写信给你需要使用@标志输出:对razor syntax.

+1

这是它

<h2> Sorry, an error occurred while processing your request. @ViewData["ErrorMessage"] </h2> 

更多信息。男人,我是一个简单的sh **。 – Flea 2013-05-04 15:33:03