加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

这个ASP.NET功能在哪里记录? <%= string format,params obj

发布时间:2020-12-16 00:39:05 所属栏目:asp.Net 来源:网络整理
导读:显然,可以使用%=%在ASP.NET Web窗体页面和视图中构造(渲染块)。 %= "{0} is {1}","Foo",42 % 这将使“Foo为42”。据我所知ASP.NET解析器翻译%=%调用到 HttpResponse.Write(string) .显然在上面的代码中,没有一对一的翻译,因为参数的数目不匹配(假设在
显然,可以使用<%=%>在ASP.NET Web窗体页面和视图中构造(渲染块)。
<%= "{0} is {1}","Foo",42 %>

这将使“Foo为42”。据我所知ASP.NET解析器翻译<%=%>调用到HttpResponse.Write(string).显然在上面的代码中,没有一对一的翻译,因为参数的数目不匹配(假设在上面的表达式中分离参数)。

现在我已经看到TextWriter类有一个Write(string,object[])的方法。

我已经检查了解析器的输出,实际上它调用了接受一个params对象[]参数进行格式化的TextWriter方法:

private void @__Renderform1(System.Web.UI.HtmlTextWriter @__w,System.Web.UI.Control parameterContainer) {
    // ...
    @__w.Write( "{0} is {1}",42 );

这个行为是否记录在任何地方?

解决方法

As far as I know the ASP.NET parser translates <%= %> into a call to
HttpResponse.Write(string).

也许<%=“{0}是{1}”,“Foo”,42%>被转换为Response.Output.Write(string format,params object [] arg),输出类型为TextWriter,这将是解释
根据http://www.hanselman.com/blog/ASPNETResponseWriteAndResponseOutputWriteKnowTheDifference.aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读