显然,可以使用ASP.NET Web 表单页面和视图中的<%= %>
构造(渲染块)编写格式化输出。
<%= "{0} is {1}", "Foo", 42 %>
这将呈现“Foo is 42”。据我所知,ASP.NET 解析器转换<%= %>
为对HttpResponse.Write(string)
. 显然在上面的代码中,没有一对一的翻译,因为参数的数量不匹配(假设,
上面的表达式中的分隔参数)。
现在我已经看到这个类TextWriter
有一个Write(string, object[])
方法。
我检查了解析器的输出,确实它调用了接受格式化参数的TextWriter
' 方法:params object[]
private void @__Renderform1(System.Web.UI.HtmlTextWriter @__w, System.Web.UI.Control parameterContainer) {
// ...
@__w.Write( "{0} is {1}", "Foo", 42 );
这种行为是否记录在任何地方?