See this:
Sự khác biệt giữa Response.Write()
và Response.Output.Write()
trong ASP.NET. Câu trả lời ngắn gọn là sau này cung cấp cho bạn đầu ra String.Format-style
và trước đây không. Câu trả lời dài sau.
Trong ASP.NET đối tượng Response
là loại HttpResponse
và khi bạn nói Response.Write
bạn đang thực sự nói (cơ bản) HttpContext.Current.Response.Write
và gọi một trong nhiều quá tải Write
phương pháp HttpResponse
.
Response.Write
sau đó gọi .Write()
vào đó là nội TextWriter
đối tượng:
public void Write(object obj){ this._writer.Write(obj);}
HttpResponse
cũng có một tài sản gọi là Output
đó là kiểu, vâng, TextWriter
, vì vậy:
public TextWriter get_Output(){ return this._writer; }
Có nghĩa là bạn có thể làm Response
bất cứ điều gì một TextWriter
sẽ cho phép bạn. Bây giờ, TextWriters hỗ trợ một phương pháp Write()
aka String.Format
, vì vậy bạn có thể làm điều này:
Response.Output.Write("Scott is {0} at {1:d}", "cool",DateTime.Now);
Nhưng trong nội bộ, tất nhiên, điều này đang xảy ra:
public virtual void Write(string format, params object[] arg)
{
this.Write(string.Format(format, arg));
}
Cảm ơn bạn Mr. Ngu Soo Hui –
Tình cờ gặp phải điều này từ Google - nội dung gốc của liên kết (được sao chép trong câu trả lời này) là từ bài đăng '04 trên blog của Hanselman - http://www.hanselman.com/blog/ASPNETResponseWriteAndResponseOutputWriteKnowTheDifference.aspx – brichins