Saltar al contenido

¿Cuál es la diferencia entre Response.Write() yResponse.Output.Write()?

Pudiera darse el caso de que halles algún problema con tu código o trabajo, recuerda probar siempre en un entorno de testing antes añadir el código al proyecto final.

Solución:

Mira esto:

La diferencia entre Response.Write() y Response.Output.Write() en ASP.NET. La respuesta corta es que este último te da String.Format-style salida y el primero no. La respuesta larga sigue.

En ASP.NET el Response el objeto es de tipo HttpResponse y cuando dices Response.Write realmente estás diciendo (básicamente) HttpContext.Current.Response.Write y llamando a uno de los muchos sobrecargados Write métodos de HttpResponse.

Response.Write luego llama .Write() en su interior TextWriter objeto:

public void Write(object obj) this._writer.Write(obj); 

HttpResponse también tiene una propiedad llamada Output eso es de tipo, si, TextWriterasi que:

public TextWriter get_Output() return this._writer;  

Lo que significa que puedes hacer el Response lo que sea TextWriter te dejare Ahora, los TextWriters admiten una Write() método también conocido como String.Formatpara que puedas hacer esto:

Response.Output.Write("Scott is 0 at 1:d", "cool",DateTime.Now);

Pero internamente, por supuesto, esto está sucediendo:

public virtual void Write(string format, params object[] arg)
 
this.Write(string.Format(format, arg)); 

Aquí Response.Write (): para mostrar solo string y no puede mostrar ningún otro valor de tipo de datos como int, fecha, etc. No se permite la conversión (de un tipo de datos a otro). mientras que Response .Output .Write(): puede mostrar cualquier tipo de datos como int, date ,string etc., dando valores de índice.

Aquí hay un ejemplo:

protected void Button1_Click(object sender, EventArgs e)
    
       Response.Write ("hi good morning!"+"is it right?");//only strings are allowed        
       Response.Write("Scott is 0 at 1:d", "cool", DateTime.Now);//this will give error(conversion is not allowed)
       Response.Output.Write("nhi goood morning!");//works fine
       Response.Output.Write("Jai is 0 on 1:d", "cool", DateTime.Now);//here the current date will be converted into string and displayed
    

Response.write() se utiliza para mostrar el texto normal y Response.output.write() se utiliza para mostrar el texto formateado.

Más adelante puedes encontrar las crónicas de otros gestores de proyectos, tú todavía puedes dejar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *