Response.Write Vs Response.Output.Write

Response.Write() and Response.Output.Write( ) both are used for print output on the screen. The Response.Write() methods are simple wrappers that call Response.Output.Write() with the same arguments. However, Response.Output returns a TextWriter object, and that has several overloads of the Write method, so you have a lot more flexibility than the Response.Write() methods give you. That means, Response.Write() :to display only string and you can not display any other data type values like int,date,etc.Conversion(from one data type to another) is not allowed. whereas Response .Output.Write(): you can display any type of data like int, date ,string etc., by giving index values . example
Response.Output.Write(" < p > Maximum value is ${0:F2} < /p > ", maxVal);

If you want to achieve the same result with Response.Write(), you'd have to do something like:

Response.Write(String.Format(" < p > Maximum value is ${0:F2} < /p > ", maxVal));