我对这件事感到十分困惑,我从未遇到过这件事。我有一个名为“Error”的共享视图,它输出标准消息,后跟自定义消息:
@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”,但从不输出字符串。
答案 0 :(得分:3)
您的表达式不会显示任何内容,因为您没有向响应中写出ViewData["ErrorMessage"]
。
使用@{ ... }
创建一个剃刀代码块,它不会向输出写入任何内容,只执行内部代码。
要写入输出,您需要使用@
符号:
<h2>
Sorry, an error occurred while processing your request. @ViewData["ErrorMessage"]
</h2>
的更多信息