我正在关注MSDN 杂志的新 Katana 文章。该页面没有显示模型的标题,而是按字面意思显示:
@Model.title
如果我在我的 HomeModule 中放置一个断点并单步执行它,那么页面会正确显示:
我们有问题...
这是 HomeModule:
public class HomeModule : NancyModule
{
public HomeModule()
{
Get["/"] = _ =>
{
var model = new { title = "We've got issues..." };
return View["home", model];
};
}
}
为什么设置断点并因此更改时间会导致页面正确显示模型的标题?HTML 渲染速度是否过快?我不确定这是怎么回事,因为 HomeModule 不是决定返回什么 HTML 的吗?
注意:在 HomeModule 中放置断点时,会被命中两次。不知道为什么。也许这与它有关?
这是 Home.html 的开头。最后一行显示了@Model.title 部分。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="../Scripts/jquery-2.0.3.js"></script>
<script src="../Scripts/knockout-2.3.0.js"></script>
<title>@Model.title</title>
编辑
所以这很奇怪。在 VS 2013 中,当我单击运行应用程序时,如果 HomeModule 是活动选项卡,我会得到正确的结果。如果 Home.html 是活动选项卡,我会得到文字 @Model.title。