显然,在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 );
这种行为有记录在案吗?
https://stackoverflow.com/questions/18656768
复制相似问题