Mic*_*out 18 asp.net compiler-construction parsing response.write server-tags
显然,可以使用ASP.NET Web表单页面和视图中的<%= %>构造(渲染块)编写格式化输出.
<%= "{0} is {1}", "Foo", 42 %>
Run Code Online (Sandbox Code Playgroud)
这将使"Foo为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 );
Run Code Online (Sandbox Code Playgroud)
这种行为记录在哪里吗?
guy*_*mid -1
这很接近并且可能相关http://msdn.microsoft.com/en-us/library/586y06yf.aspx但这并不能解释为什么 <%= 这样做......
| 归档时间: |
|
| 查看次数: |
816 次 |
| 最近记录: |