none
ASP.net y Sintaxis Razor

All replies

  • ¿Tiene alguna ventaja significativa usar Razor en comparación a code-behind?

    pero esa compracion no puede realizarse

    Razon es usado en asp.net mvc para crear la view que es enviado como result de un action en el controller, no existe code-behind en este entorno

    usas un Model para crear la vista


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Monday, August 06, 2012 4:45 PM
  • Pues no lo leo así según el documento que ligué arriba.  Ahí hay un ejemplo completo que no tiene que ver con MVC en lo absoluto.  De hecho, todos los ejemplos iniciales no hacen referencia a MVC, lo que implica que un archivo .cshtml es una alternativa a un .aspx que puede crear lo mismo que Razor pero en .aspx, y por lo tanto creo que es válido comparar contra code-behind.  ¿O será que estoy perdiendo algo de vista?

    Este es el ejemplo completo:

    @{
        var total = 0;
        var totalMessage = "";
        if(IsPost) {
    
            // Retrieve the numbers that the user entered.
            var num1 = Request["text1"];
            var num2 = Request["text2"];
    
            // Convert the entered strings into integers numbers and add.
            total = num1.AsInt() + num2.AsInt();
            totalMessage = "Total = " + total;
        }
    }
    
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <title>Add Numbers</title>
        <meta charset="utf-8" />
        <style type="text/css">
          body {background-color: beige; font-family: Verdana, Arial;
                margin: 50px; }
          form {padding: 10px; border-style: solid; width: 250px;}
        </style>
      </head>
    <body>
      <p>Enter two whole numbers and then click <strong>Add</strong>.</p>
      <form action="" method="post">
        <p><label for="text1">First Number:</label>
          <input type="text" name="text1" />
        </p>
        <p><label for="text2">Second Number:</label>
          <input type="text" name="text2" />
        </p>
        <p><input type="submit" value="Add" /></p>
      </form>
    
      <p>@totalMessage</p>
    
    </body>
    </html>


    Jose R. MCP
    Code Samples

    Monday, August 06, 2012 4:49 PM
  • lo que implica que un archivo .cshtml es una alternativa a un .aspx que puede crear lo mismo que Razor pero en .aspx, y por lo tanto creo que es válido comparar contra code-behind.

    ese codigo que alli pones es un tempalte razor, este no tiene un .cs o .vb asociado donde poner codigo

    es mas no define ningun <@Page ..> que puedas usar, razor hasta dodne se no se puede aplicar con asp.net clasico

    solo se usa con asp.net mvc

    es mas dime cuando creas un proyecto en el VS si este permite seleccionar el motor de render del sitio ? yo la verdad nunca lo vi, no al menso para asp.net

    ademas no veo justificativo para usar razor con asp.net clasico, si esta bueno para mvc porque queda muy bien con el uso del modelo, pero para asp.net simple no le veo sentido


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    Monday, August 06, 2012 4:52 PM
  • Correcto, Razor no usa code-behind.  El código de servidor va entre @{ }, y el archivo es de extensión .cshtml.  Tengo claras esas diferencias.  Lo que no veo es la necesidad de vincular un .cshtml como el del ejemplo con MVC.  No hay nada más que el .cshtml y puede correrse en IE sin problemas según el documento.

    Mi pregunta es:  ¿Hay ventajas en Razor comparado a Web forms (aspx)?  Porque ambos ofrecen código de servidor, solamente que Razor lo incluye en la misma página mientras que ASPX usa code-behind (aunque puede agregarse a la misma página también).

    O sea:  No trato de discutir el hecho de que sean diferentes.  Tampoco trato de discutir el hecho de que Razor pueda (o deba) usarse en conjunto con MVC.  A lo único que apunto es al hecho de que Razor puede en definitiva usarse como un reemplazo de Web Forms ASPX.  ¿Hay ventajas en hacer esto?


    Jose R. MCP
    Code Samples

    Monday, August 06, 2012 4:58 PM
  • ¿Hay ventajas en Razor comparado a Web forms (aspx)?

    con webform no le veo ventajas, creo que usar la notacion clasica de asp.net seria mucho mejor

    ahora con asp.net mvc si hay ventaja y muchas en como queda la notacion final de la vista, pero como comente se debe a que al poder usar un model en union a la vista el resultado queda estupendo

     A lo único que apunto es al hecho de que Razor puede en definitiva usarse como un reemplazo de Web Forms ASPX.  ¿Hay ventajas en hacer esto?

    la unica ventaja que veria, es si vas a usar para la vista solo html, o sea ningun control de asp.net

    quizas en ese caso justifique pasar de uno a otro, sino creo que es solamente para complicar

    quizas un punto a favor es si usas

    ASP.NET MVC 3 Razor Syntax - RenderBody, RenderPage and RenderSection

    la forma en crear template estilo masterpage que razor propone

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Monday, August 06, 2012 5:12 PM
  • Hola, creo q aca existe una mezcla de un todo, Microsoft nos brinda diferentes opciones para el desarrollo web, entre ellas ASP.NET MVC y ASP.NET (con el cual podemos utilizar el patrón MVP), ahora, no es q MVC reemplace al asp.net tradicional, es solo otro camino, si primero hablamos de MVC es definitivo q razor es mucho mejor motor q las vistas aspx, por eso es q desde la v3 de mvc ya todo se enfoca en razor, y asi debería ser, cuando hablamos de asp.net  tradicional un punto clave es q asp.net hace por nosotros muchas cosas, permite realizar vistas de maneras mucho mas rapido con arrastrar y soltar controles (muy fácil no?), pero debemos tener claro q el code-behind para dichas paginas es fundamental y siempre lo será, claro es posible usar razor, en si también puedes usar Webforms y asp.net mvc juntos, mira este post de un grande: http://geeks.ms/blogs/etomas/archive/2011/05/13/191-webforms-y-asp-net-mvc-juntos-pues-claro.aspx

    en resumen y mi opinión personal es no mezclar las cosas, las herramientas están, pero no por tener muchas opciones se deben usar todas, debemos usar lo q solucione el problema de la mejor manera.

    SI estas en MVC claro razor es mejor q las vistas aspx, peor si vas con asp.net lo mejor es irte con aspx y el modelo tradicional de desarrollo.


    Julio Avellaneda
    Core Group Comunidad BDotNet
    MVP | MCTS | MCC | MCS
    Blog !!

    Tuesday, August 07, 2012 3:54 AM