.NET Core开发日志——视图与页面 (2)

.NET Core开发日志——视图与页面

以其中Views_Home_Index为例,其实际上为RazorPage<TModel>的一个实现类。

.NET Core开发日志——视图与页面

它内部的ExecuteAsync方法正是生成页面内容的关键。

.NET Core开发日志——视图与页面

因为是VS模板自动生成的页面,上面的代码十分冗杂。为了更清晰地检查核心的代码,不妨减少下页面的复杂度。

把index.cshtml文件内容改成如下:

@{ ViewData["Title"] = "Home Page"; Layout = null; } <p>Hello World!</p>

再次编译后,可以看到ExecuteAsync方法的内容变成了下面的样子:

public virtual async Task ExecuteAsync() { ((ViewDataDictionary) this.get_ViewData()).set_Item("Title", (object) "Home Page"); ((RazorPageBase) this).set_Layout((string) null); ((RazorPageBase) this).BeginContext(65, 21, true); ((RazorPageBase) this).WriteLiteral("\r\n<p>Hello World!</p>"); ((RazorPageBase) this).EndContext(); }

不难看出,最终展现的页面内容便是通过RazorPageBase类的WriteLiteral方法生成的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxfxp.html