【发布时间】:2017-11-15 19:42:05
【问题描述】:
我正在我的控制器中解析一个 JSON 文件并具有 try/catch 功能。 JSON 的捕获填充 ViewBag,如果出现错误,我想在视图中打印它。但是 ViewBag.Error 不会打印到屏幕上。我闯入视野,绳子就在那里。它只是不打印。
这是来自控制器的相关代码:
catch (JsonReaderException jex)
{
ViewBag.Error = "JSON Parsing Error: " + jex.Message;
return View();
}
这是我的看法:
@if ((string)ViewBag.Error != "")
{
@Html.Label((string)ViewBag.Error)<br>
}
【问题讨论】:
-
你误解了
@Html.Label。直接打印就行了。 -
@SLaks 他可能会用它来设计样式,尽管我对此表示怀疑。动态类型的强制转换不是必需的。仍然不应该阻止文本打印。
-
你能不能用
@Html.Raw代替label试试看。像这样@Html.Raw((string)ViewBag.Error) -
@ISHIDA:这是一个 XSS 漏洞。 不要那样做。
-
@SLaks 我同意,但他没有输入任何数据,他只是显示它(这是他问题中的标签)。
标签: c# json asp.net-mvc