Académique Documents
Professionnel Documents
Culture Documents
Modelos
Para pasar informacin a las vistas que no se encuentren dentro del modelo asignado:
Cuando se enva un HTTP POST request back, el explorador automticamente recolecta toda la
informacin que el usuario ingreso en el formulario y enva los valores con sus nombres
asociados mediante la request.
The happy Path: es el cdigo que se ejecuta cuando esl modelo esta en un estado valido y tu
puedes almacenar el objeto en la base de datos. La propiedad ModelState.IsValid contiene si el
estado del modelo is valido o no
The sad Path: Es la accin que toma cuando el modelo es invlido, y el controlador necesita
recrear la vista donde se ejecut el erro para que el usuario pueda arreglarlo
Model Binding
La input es nombrada para que concuerden con las propiedades del modelo, as es posible
asociar las input ingresadas por el usuario de forma automtica sin estar haciendo
conversiones o cdigo extra
Cuando una accin tiene como parmetro un modelo, el MVC runtime usa el model binder
para armar el parmetro, si el model binder encuentra una propiedad llamada Ttulo, esta
busca el valor con el nombre Titulo en la request. El modelo binder usa componentes
conocidos como value provider para buscar los valores en diferentes reas de la request,
incluso ve en otras reas como la route data, query string
Para evitar el over-posting se deben de indicar que parmetros se usaran para que el model
binder solo busque en esos parmetros:
UpdateModel(product, new[] { "Title", "Price", "AlbumArtUrl" });
Formularies y HTTP Helpers
HTML Helpers: ayuda a que la URL apunte a la localizacin correcta, los elementos del
formulario (nombre y valores) estn correctos para el model binding y otros elementos que
muestren el apropiado error cuando el model binding falla
Usando formularios
Si el Method es GET al hacer submits el explorador toma los nombres de las entradas y sus
valores y los coloca en una querystring, si es POST esto se colocan dentro del cuerpo de una
HTT request.
Helpers
ExcludePropertyError: asignndole el valor true se le indica que todo los errores que tengan
que ver con la propiedad de los modelos sea ignorada de resumen de errores y no se
mostraran.
Html.TextBox and Html.TextArea: Los textbox helper renderizan las etiquetas con el tipo de
atributo text. El textarea helper renderiza elementos <textarea> para una entrade de
multiples lineas
@Html.TextBox("Title", Model.Title)
Html.Label: retorna un elemento <label/> usando los parmetros string para renderizar el
texto y el atributo fo, su propsito es asignar informacion a otro elemento inputs y mejorar la
accesibilidad a la aplicacin
Html.Label(GenreId)
Siempre que sea posible el helper buscara algn model disponible en la metadata en la
construccin de lo mostrado
Ambos retornan un elemento <select /> ddl permite seleccin de un tem y listBox permite
seleccin multiple asignando el atributo multiple
Los helpers te dan el control completo del HTML sin codificar muchas lneas de cdigo,
codifica correctamente atributos, crea de forma apropiada las URLs al recurso correcto, y
establecen los nombras de los elementos inpts para simplificar el model bindir.
Anotaciones de datos y validaciones
Validar los model values a travs de las anotaciones que no solo se enfocan en validar sino que
tambin proveen metadata y el framwork no solo maneja validaciones sino que las usa para
generar HTML y mostrarlo y editar modelos
<required> (validacin tanto del lado del cliente como del servidor) Lanza un erro de
validacin cuando el valor de la propiedad es nulo o vaco.
<remote> Permite realizar una validacin del lado del cliente con una llamada de retorno del
servidor. <Remote("ActionController", "ControllerName")>
Las caractersticas de validacin de ASP.NET MVC son parte de una cadena sistema coordinado
que involucra:
Model binder
Model metadata
Model validator
Model state
Los model state no solo contienen los valores que se intentaron agregar a las propiedades del
modelo si no que contiene todo los errores asociado a cada propiedad, si existe algn error
modelState.IsValid = true
Las acciones de controlador deciden que colocar cuando, las validaciones del modelo son
exitosas y cuando fallan, por lo generar cuando son exitosas se da lugar para guadar y
actualizar la informacin y si se da un error este re- renderiza la pgina con los mismos valores
para que el usuario vea los errores o campos vacos para corregirlos
La seguridad es algo que debes hacer pero no es divertido, es la regla del programador.
Esto se logra con un filtro de accin autorizada, AuthorizeAttribute el filtro por defecto de
autorizacin incluido en ASP.NET MVC.
Autenticacion: Es estar verificando que el usuario sea quien ellos dicen ser a travs de diferentes
mecanismos de inicio de sesin
Autorizacion: Estar verificando que ellos puedan hacer lo que ellos quieran respecto a su
sitio(sistemas basados en roles o reclamos)
El atributo de autorizacin, AuthorizeAttribute tiene como propsito verificar que el usuario
este autorizado para acceder o llamar al controlador, sin tener ningn rol o usuario el usuario
simplemente debe de estar autenticado para realizar esta accin, si el usuario intenta acceder
a la accin el servidor retornara el cdigo de estado 401 Unauthorized
Cmo funciona?
El cdigo de estado 401 es preciso para los acceso innautorizados pero no es muy amigable
para los usuarios para mostrar, en su lugar se usa el cdigo 302 para que se redireccione a la
pagina de autenticacin. En asp.net MVC, este proceso es anejado por componente
middleware OWIN ( OpenWeb Interfaz para. NET)