ViewBag 未写入 Razor 的输出中
ViewBag is not written in output for Razor
ViewBag
值在 运行 ASP.NET MVC4 网页时被完全忽略。
这是上图的来源。
即使我正在检查 ViewBag.SearchResultsJson
是否为 null 或空,ViewBag 仍然没有写入输出。
<script>
@{
HtmlString jsonText = new HtmlString("");
if (!string.IsNullOrWhiteSpace(ViewBag.SearchResultsJson))
{
jsonText = Html.Raw(ViewBag.SearchResultsJson);
}
}
$(document).ready(function() {
var json = @jsonText;
app.value('searchResultsJson', json);
})
</script>
我在这里错过了什么?
根据您的代码,一个空的 jsonText
是一个有效的场景,所以我不会关注为什么这个变量是空的。
错误的原因是您没有用引号将 @jsonText
括起来以在 Javascript 侧呈现有效字符串。
你应该改变
var json = @jsonText;
来自
var json = '@jsonText';
ViewBag
值在 运行 ASP.NET MVC4 网页时被完全忽略。
这是上图的来源。
即使我正在检查 ViewBag.SearchResultsJson
是否为 null 或空,ViewBag 仍然没有写入输出。
<script>
@{
HtmlString jsonText = new HtmlString("");
if (!string.IsNullOrWhiteSpace(ViewBag.SearchResultsJson))
{
jsonText = Html.Raw(ViewBag.SearchResultsJson);
}
}
$(document).ready(function() {
var json = @jsonText;
app.value('searchResultsJson', json);
})
</script>
我在这里错过了什么?
根据您的代码,一个空的 jsonText
是一个有效的场景,所以我不会关注为什么这个变量是空的。
错误的原因是您没有用引号将 @jsonText
括起来以在 Javascript 侧呈现有效字符串。
你应该改变
var json = @jsonText;
来自
var json = '@jsonText';