¿Cómo crear contenidos sin vistas?

Como bien sabemos una vista siempre irá asociada a un controlador, el cual se encargará de administrar las peticiones que nosotros ejecutemos y que a su vez mostrará contenidos.

Aunque técnicamente el mostrar contenidos sin vistas es una mala praxis, se podría presentar la necesidad de usarla.
Existe diferentes formas de mostrar contenidos sin vistas:

o Content: permite devolver código HTML directamente para que el explorador Web lo interprete.
o File: permite devolver tipos de archivo, ya sea para descargar o para visualizar su contenido si el explorador Web lo soporta.
o JavaScript: permite devolver código JavaScript para ser invocado desde una vista.
o JSon: Envía datos JSon a la vista desde el controlador.

En el siguiente ejemplo trabajaremos Contenido Content:

Contenido Content

Vamos a realizar una página que nos permita introducir una URL de un video de Youtube en una caja de texto y que al pinchar el botón “Mostrar Video”

VideosYoutube

y que automáticamente nos lleve al video

MuestraVideo

Para eso crearemos una zona nueva llamada “ProyectoContenido”

ProyectoContenido

Una vez creado el proyecto Contenido.
Agregamos una zona Contenido.

Carpeta

Dentro de Contenido crearemos una vista llamada VideosYoutube

Imagen2

imagen3

En la vista VideoYoutube agregamos el siguiente desarrollo:
@{
ViewBag.Title = “VideosYoutube”;
}

Videos de Youtube

<form method=”post”>

<div class=”form-group”>
<label>Introduzca URL del vídeo
</label>
<input class=”form-control” name=”video” type=”text” placeholder=”Url Youtube” >
<button class=”btn-success” type=”submit”>
Mostrar vídeo
</button>
</div>
</form>
imagen4

imagen5

Creamos el Contrador: ContenidoController


public ActionResult VideosYoutube()
{
return View();
}
[HttpPost]
public ActionResult VideosYoutube(String video)
{
//Content devuelve código HTML
//interpretado por el navegador.
//https://www.youtube.com/watch?v=E4-zo5kH_OM
int posicion = video.IndexOf("v=");
String idvideo = video.Substring(posicion + 2);
return Content
("<iframe width='560' height='315' src='https://www.youtube.com/embed/" + idvideo + "' frameborder='0' allowfullscreen></iframe>");

imagen6

Imagenfinal

Descripción: Qué soluciona/para qué te ayuda este videotutorial (140 caracteres máximo)
Autor/a: María del Carmen Rojas Ríos
Curso: Microsoft MCSD Web Applications + SharePoint Apps
Centro: Tajamar
Año académico: 2016-2017