No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de ASP.NET Core

Curso de ASP.NET Core

Juan Carlos Ruiz

Juan Carlos Ruiz

Razor Syntax

10/35
Recursos

Aportes 42

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

En razor cada que se abre un @ se ejecuta código c#

Por si alguien tiene el mismo tema, estoy trabajando .NETCore 6.0 y para cambiar el controlador por defecto, el cambio debe hacerse en el archivo Program.cs

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Escuela}/{action=Index}/{id?}");

Pues :

Razor Ramon! BOOM

Nota mental: es @model Escuela y NO @Model Escuela xD

Le falta un live reload

Razor surge de la necesidad de poder escribir un código familiar de manera rápida dentro de HTML.

Razor permite alternar entre lo que tengo en el FrontEnd código que es creado en el BackEnd para hacer que las cosas funcionen fácilmente.

Los lenguajes fuertemente tipados obligan a que hagan validaciones de tipos en tiempo de desarrollo y no en tiempo de ejecución.

Se utiliza @Model para referirse a las propiedades del objeto o del modelo dentro del código Razor que genera la vista y @model, sólo en el encabezado del código de la vista para incluir el modelo y hacerla fuertemente tipada.

Objetivos de Razor
.
Son varios los objetivos que Microsoft se ha marcado en la creación de este motor de vistas, entre los que destacaríamos:
.

  • Compacto, expresivo y fluido: buscan reducir la cantidad de código que necesitamos para crear las vistas, evitando que tengamos que denotar de una forma especial cada línea de código procedural. El compilador será lo suficientemente inteligente como para inferir, en muchas ocasiones, qué tipo de código estamos escribiendo.

  • Fácil de aprender: aunque esto es siempre relativo, puesto que depende del bagaje previo del desarrollador y de sus capacidades.

  • Funciona en cualquier editor de texto, luego no vamos a tener que estar anclados a Visual Studio o cualquier otra herramienta para crear nuestros ficheros Razor. Obviamente, el soporte al lenguaje es superior en una herramienta como Visual Studio, donde tendremos toda la potencia de IntelliSense a nuestro alcance, que, si editamos simplemente con el Block de Notas, pero la decisión última será nuestra.

  • Testeable: podremos crear tests unitarios de las vistas.

Los archivos que contienen Razor generalmente tienen una extensión de archivo .cshtml.

quizas estoy usando una version actualizada pero las instrucciones de startup me aparecen bajo el archivo Program.cs

en net 6 es asi.

ya no existe el archivo startup.cs, solo es en program.cs
y modifican lo siguiente

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=School}/{action=Index}/{id?}");

Se pueden enviar mas de un objeto como parámetro a la vista? Cómo se trabajaría con la variable @Model?

Razor es una sintaxis de marcado para incrustar código basado en servidor en páginas web. La sintaxis de Razor consiste en marcado de Razor, C # y HTML. Los archivos que contienen Razor generalmente tienen una extensión de archivo .cshtml . Razor también se encuentra en los archivo

Jaaja que buena referencia a la lucha libre

Por cierto, si quieren comentar su codigo en los archivos *.cshtml pueden hacer uso del mismo simbolo usado en HTML puro, <!– y –>, por ejemplo:

<!-- ESTO ES UN COMENTARIO -->

¿Puedo pasar varios modelos a la vista?, o el modelo toma como tal el objeto que le pasemos, por ejemplo un array de objetos.

Mucho cuidado para evitar una catástrofe

Todo lo que esté después de @ es código C#

Hola Juan Carlos, con mucho respeto. La palabra “layout” se pronuncia “leyaut”. Perdona, pero lo menciono para mejora de tu inglés. Saludos.

Ventajas de los lenguajes fuertemente tipados:

  1. Evitamos los errores en tiempo de ejecucion como los crasheos

  2. Damos mas responsabilidad singular al modelo al que nos acoplamos

  3. Podemos corregir en tiempo de desarrollo

Genial!

😎

El carácter @ nos permite incluir código c# en el html de dos formas

  • declarando código en una sola línea , se inicia la línea con @

  • declarando código en más de una línea con @ + {}

para el caso del código C# en mi html el compilador no indica los errores de sintaxis, debido a que el código en razor es débilmente tipado.

Creo que cada vez me esta gustando mas el lenguaje.

Me recordó muchísimo a nodeJS con Handlebars

Bien Explicado

Microsoft no debio llamarlo Razor , sino Ramon.

2x

Si conocen preprocesadores HTML como puede ser ejs, que insertaban código JS con <% %>, razor es parecido, insertando código C# con @

Hey Razor Ramon!!! gran referencia xD.

Esos resumenes al final de cada etapa son muy útiles para afianzar conocimientos

Genial, ahora para avanzar en la clases es más rápido, ya no recarga la página

Alguien sabe acerca del por que cuando escribo

@Model Escuela

este también aparece en la página web?

@{} Permite crear código c# embebido en una página HTML con JavaScript.
QModel - Es un modelo débilmente tipado es decir que permite crear variables al vuelo.

Una de las ventajas de los lenguajes fuertemente tipados, es que se realizan las validaciones de tipos en tiempo de desarrollo y no de ejecución.

Excelente vamos paso a paso en este aprendizaje

sintaxis cuchillas!!, interesante.

Razor …

En el video anterior utilizamos las propiedades de un modelo enviado desde el controlador sin definirlo en la vista, lo cual es algo debilmente tipado y no se permitía en .NET MVC.

En .NET Core tenemos la opción de ser debilmente tipado lo cual puede generar problemas al acceder a propiedades al vuelo y que no existan, por lo cual es mejor utilizar la opción de fuertemente tipado e indicar en la vista el modelo que se está recibiendo y de esta manera se realicen las validaciones de las propiedades y métodos a los que se accede.

Qué clase de PHP es esto? D:

por que @model para indicar el tipo pero @Model para usarlo? media rara la convención…
Como hago para pasar varios argumentos?

Cuando hablo el profesor del personaje de la WW me hizo acordar mucho al profe Leonidas. 😂😂 Genial Clase