google analytics

viernes, 21 de marzo de 2014

LLamar a una función js desde un controllador en Asp .Net MVC

Al fin tengo el blogspot libre y sin bloqueos desde el curro =)... Este post va para responder la pregunta a alguién que me pregunto hace un tiempo como hacer esto.

Aunque la verdad es raro querer ejecutar una funcion js desde un controlador, aquí muestro la manera en que "yo" como lo haría.

1. Crearia una clase que tendra como propiedad un string que tendra el código js que queremos ejecutar:

 
    public class DemoJs
    {
        public string JsFunction { get; set; }
    }

2. Luego sigo con el controlador, en mi caso es un ejemplo simple ya que solo quiero llamar a la funcion js.
 
    public class DemoController : Controller
    {
        //
        // GET: /Demo/
        public ActionResult Index()
        {
            var demoJs = new DemoJs();
            demoJs.JsFunction = "$( window ).load(function() { DisparaAlert();}); ";
            return View(demoJs);
        }
    }    

Aquí la explicación, inicializo el objeto y en la propiedad JsFunction escribo el código js que quiero ejecutar, en este caso lo que hago es disparar la función "DisparaAlert()" cada vez que la página ha sido cargada.

3.Genero la vista de este ActionResult

@model Demo.Models.DemoJs

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

Index

La vista lo que hace es llamar a jquery y luego más abajo en la sección js de la página acceder al modelo de la vista y mostrar la propiedad que tenia la funcion js que queriamos que se ejecute en nuestra aplicación. Como la función que seteamos en esta propiedad dijimos que se ejecute la función DisparAlert cada vez que se cargue la página, en la parte de js de la vista tambien declaramos esta función y dentro de ella ponemos un alert sólo para mostrar que esto funciona.



Como ven es un artificio, aunque como dije al principio del post, me parece raro llamar una función js desde un controlador pero como en MVC no tenemos un método RegisterClientScriptBlock o parecidos, esta puede ser una manera. Espero que les sirva de algo , hasta la prox !

domingo, 22 de septiembre de 2013

Aprendiendo Node.js (I)

Ya era un tiempo que tenía olvidado este blog por lo que espero volver con fuerza con nuevos temas que empiezan o ya llevan algún tiempo sonando con fuerza. Y que mejor que enseñando algo de Node.js.

Por si no saben que es, es una plataforma de programación en Javascript especializada en el manejo de eventos desde el servidor. Trabaja sobre V8, un motor de Javascript creado por Google optimizado para la web con lo cual la velocidad y escalibilidad de las aplicaciones está asegurada. Si quieres más teoría puedes pinchar aquí.

Pero bueno al lío. Empezamos instalando Node.js asi que nos dirigimos aquí



Node.js puede trabajar bajo Windows, Linux, IOS y otros sistemas operativos. En mi casa descargamoos el instalador para Windows, damos click y empieza el proceso de instalación:





Una vez instalado, para ver que Node.js ya está disponible en nuestro ordenador vamos e ejecutar (Tecla Windows + R) y escribimos cmd o te vas directamente a símbolos del sistema


Escribimos node y damos enter, debería aparecer '>' como se muestra en la imagen


Podemos poner 1+1 y enter y si bota 2 es que node.js ya está funcionando.


Hasta aquí todo bonito, pero ¿cómo mostramos algo en la web?. Seleccionas tu editor de texto favorito y copias lo siguiente:

var http = require('http');
http.createServer(function (req, res){
res.writeHead(200, {'Content-type':'text/plain'});
res.end('Hola node.js');
}).listen(200, "127.0.0.1");
console.log('Servidor activo en http://127.0.0.1:200/');

Le das a guardar como hola.js en la ruta que tu prefieras. En mi caso como en el cmd la ruta por defecto que aparece es c:\Users\Jhon1 la guardaré ahi. Una vez hecho esto, vuelves a abrir el cmd, escribes node hola.js y debería aparecer lo siguiente:


Esto quiere decir que node.js ya está activo y nuestro archivo hola.js ya puede ser utilizado.
Por último abrimos Chrome, Firefox, IE o el que te dé la gana y pones la url que pusiste en la parte de listen de tu archivo hola.js. En nuestro caso http://127.0.0.1:200 y el resultado es el siguiente:



Y ya está, espero que les sirva de utilidad para empezar con esto. En el proximo post hablaremos del gestor de paquetes de node.js y los módulos que tiene. Espero les ayude. Hasta la prox!!!




viernes, 5 de octubre de 2012

Primer vistazo con TFS Preview

Como sabrán muchas compañías están apostando fuerte en la nube, y como estamos en la época del Cloud Microsoft está ofreciendo muchas versiones de sus productos conocidos en la nube. El TFS no iba a ser la excepción y aquí tenemos un pequeño introductorio.

Lo primero que tenemos que hacer es suscribirnos al servicio con una cuenta de Window Live Id, decir que esta versión de TFS aún esta en fase Beta asi que cuidadito con esto =).

Nos dirigimos hacia esta página:

https://tfspreview.com/en-us/ ,buscamos la parte que diga "get started for free" y le damos click. Esta nos redirige a la siguiente pantalla:


ponemos cualquier nombre que nos apetezca a nuestra cuenta, le damos click y despues de unos segundos ya tenemos montado nuestro TFS en la nube.


A partir de aquí ya podemos crear nuevos proyectos, subir código, tambien hay una parte donde podemos descargar el código necesario para poder utilizar TFS Preview desde nuestros entornos de desarrollo.

En el próximo post explicaré como usar TFS Preview desde Visual Studio 2010. Hasta la próxima.

Jhon Marmolejo

lunes, 17 de septiembre de 2012

viernes, 14 de septiembre de 2012

Crea tu propia plantilla de proyecto en Visual Studio 2010

Hola, a que te has dado cuenta que muchos de los proyectos en Visual Studio que empiezas, ya sea en tu trabajo o incluso para ti mismo, siempre tienen al menos al principio las mismas cosas como una clase Common, a lo mejor unos estilos o controles de usuario que siempre se utilizan, o a lo mejor distintos helpers ya programados anteriormente y como hasta ahora funcionan quieres reutilizarlo.

Entonces me pregunto, ¿por qué cada vez que iniciamos un nuevo proyecto tenemos que hacer casi un copy/paste de estas cosas que se repiten en todos los proyectos?, la respuesta es fácil, no tenemos un template de proyecto personalizado. Entonces a por ello.

Crear un template de proyecto es sencillo. Primero abrimos el Visual Studio, en esta caso la versión 2010, y creamos un proyecto cualquiera de acuerdo a tus necesidades. En mi caso en mi trabajo ultimamente estamos haciendo muchos proyectos usando ASP NET MVC 3 asi que haré el ejemplo con esto =).


El nombre y la ruta del proyecto es lo de menos ya que luego esto se podrá cambiar. Damos Ok y tenemos un  proyecto de ASP .NET MVC 3 como cualquier otro.


A partir de aquí podemos agregar, eliminar, personalizar, hacer lo que nos de la gana con el proyecto. En mi caso eliminaré de la parte del Modelo la clase AccountModels.cs, de la parte de las Vistas quitaré toda la Carpeta Account y de la parte de Controllers quitare la clase AccountController.cs.

Adicionalmente creare una clase Persona en el modelo, tambien un controlador y vista para esta clase. El proyecto quedaría de esta manera.


He resaltado lo nuevo que he agregado. Ahora nos aseguramos de que esto compile. Si todo va bien, nos vamos al menú File / Export Template le damos click y luego next...



Al final sale esta ventana, donde podemos personalizar el nombre, la descripción, imagen previa e ícono del template. Asi como tambien te da la posibilidad de importar directamente la plantilla a Visual Studio y abriendo el Explorador de Windows para indicarte donde se guardará la plantilla como .zip generado.




Le damos a Finish y ya tenemos nuestra plantilla creada =) ... Ahora cada vez que vayamos a Visual Studio, le damos a nuevo proyecto, la encontraremos y la podemos usar :D!


Y podemos usarla como cualquier otro proyecto, cambiarle el nombre, añadir a un control de código fuente etc, etc. El resultado es el siguiente :


A que mola :D:D!!.. esto nos puede reducir el tiempo considerablemente, espero les sea útil, nos vemos

Jhon Marmolejo

jueves, 13 de septiembre de 2012

Diagramas de Secuencia en Visual Studio 2010

Cuantas veces nos ha tocado elaborar diferentes diagramas que vienen a formar parte del documento técnico para entregar un proyecto. Y como todos saben ,a lo mejor por ahí alguno me resondra, es un coñazo, pero eso no quita que sea necesario. Felizmente Visual Studio 2010, la versión Ultimate, nos ofrece realizar los Diagramas de Secuencia de una manera muy fácil y rápida. El que no sepa lo que es un diagrama de secuencia puede revisarlo aquí.

Lo único que tenemos que hacer es posicionarnos en el método sobre el cual generaremos el diagrama y le damos click derecho y damos click a la opción  "Generate Sequence Diagram...."



Luego nos sale una ventana donde podemos personalizar diferentes cosas del diagrama, como por ejemplo el número de niveles de referencias que tendrá, si buscaremos dll's externas y tambien podemos excluir cosas que no nos interesan como las propiedades o eventos.



Luego simplemente le damos aceptar, esperamos que se genere todo el diagrama y ya los tenemos =) 



Ya luego toca revisarlo un poco, si quieres tambien puedes modificarlo desde aquí, simplemente una gran ayuda de Visual Studio :D!

Espero que les sea útil, un saludo !

Jhon Marmolejo

Error instalando Visual Studio 2010

Hola, he estado un poco liado con el trabajo y no he podido aportar como me hubiera gustado, aún sigo liado pero hoy justo me pasó algo raro en el trabajo. Necesitaba instalar la versión Ultimate de Visual Studio 2010 ya que necesitaba generar unos diagramas de secuencia y esto fue lo que paso.



Lo primero que pense es que seguro se debía a las diferentes versiones de Visual Studio que tenía instaladas en el servidor, pero nooooo !!...buscando y buscando por ahi vi que decían que este error se daba cuando querias instalar Visual Studio desde un disco o una ISO. Asi que copié el archivo a mi disco duro y ejecute y tatararannnnnnnn !!...ya lo tenemos


Ahora que ya lo tengo en el próximo post les enseñare como crear diagramas de secuencia con Visual Studio 2010, es necesario tener la versión Ultimate.

Hasta luego!!!