9 programación web con .net y c#

22
ARQUITECTURA CLIENTE ASP.NET Guido Ticona Hurtado [email protected]

Upload: guidotic

Post on 12-Jan-2017

154 views

Category:

Internet


1 download

TRANSCRIPT

Page 1: 9 Programación Web con .NET y C#

ARQUITECTURA CLIENTE

ASP.NET

Guido Ticona [email protected]

Page 2: 9 Programación Web con .NET y C#

Cliente

Controlador

Modelo Vista

.cs

SERVIDOR CLIENTE

Entity Framework

LINQ

Objetos

.cs .cshtml

ViewDataViewBagModel

POSTGET

HTML

JavascriptCSS

HTTPAJAX

TempData

Page 3: 9 Programación Web con .NET y C#

AJAX Javascript, DOM, CSS y

XMLHttpRequest Exhibición e interacción dinámica

usando el Document Object Model Intercambio y manipulación de datos

Page 4: 9 Programación Web con .NET y C#

Modelo clásico Web

Servidor

Bases de datos

NavegadorInterfaz de usuario

Servidor Web

SolicitudHTTP

DatosHTML + CSS

Page 5: 9 Programación Web con .NET y C#

Modelo RequestGET /inicio.html HTTP/1.1Accept: */*Accept-Language:...Accept-Encoding:...If-Modified-Since:...If-None-Match:...User-Agent: Mozilla/4.0...Host: www.elfec.comConnection: Keep-Alive[blank line]

Page 6: 9 Programación Web con .NET y C#

Modelo ResponseGET /inicio.html HTTP/1.1Accept: */*Accept-Language:...Accept-Encoding:...If-Modified-Since:...If-None-Match:...User-Agent: Mozilla/4.0...Host: www.elfec.comConnection: Keep-Alive[blank line]

Page 7: 9 Programación Web con .NET y C#

Modelo AJAX

Servidor

Bases de datos

NavegadorInterfaz de usuario

Servidor Web / XML

Javascript DatosHTML + CSS

Motor AJAX

SolicitudHTTP

DatosHTML/JSON/XML/Texto

Page 8: 9 Programación Web con .NET y C#

Donde usar AJAX Comunicación rápida entre usuarios Interacción a través de formularios Filtrado, búsqueda Autocompletado de campos Etc

Page 9: 9 Programación Web con .NET y C#

Ejemplo búsqueda@using(Ajax.BeginForm(new AjaxOptions{HttpMethod =“get”,InsertionMode = InsertionMode.Replace,UpdateTargetId = “div”}))

Request.IsAjaxRequest

Page 10: 9 Programación Web con .NET y C#

Framework AJAX AJAXHelper (jquery unobtrusive) Jquery

MootoolsPrototype & script.aculo.us

Dojo – Ext JSYUIZKGWT

Page 11: 9 Programación Web con .NET y C#

AjaxHelper Archivo jquery-unobtrusive-ajax.js Ajax.BeginForm Ajax.ActionLink AjaxOptions

Page 12: 9 Programación Web con .NET y C#

AjaxOptions HttpMethod (GET,POST) InsertionMode

ReplaceInsertBeforeInsertAfter

UpdateTargetId LoadingElementId Confirm OnBegin, OnComplete, OnFailure,

OnSuccess

Page 13: 9 Programación Web con .NET y C#

JSON

Page 14: 9 Programación Web con .NET y C#

Ejemplo JSON{ “nombre": “Juan", “apellido": “Perez", “edad": 25, “direccion": { “calle": “Av Heroinas #343", “ciudad": “Cbba", “pais": “BO", “casilla": 123 }, “telefonos": [ { “tipo": “casa", “numero": “4452458" }, { “tipo": “celular", “numero": “70724854" } ] }

Page 15: 9 Programación Web con .NET y C#

JQueryUI JQueryUIHelper

Install-package jqueryuihelpers.mvc4Crear bundle jquery-ui.unobtrusive-

{version}.js @Html.JQueryUI()

Page 16: 9 Programación Web con .NET y C#

JqueryUIHelper Widget

ButtonAutoCompleteDatePickerProgressBarSliderSpinnerTabs

Page 17: 9 Programación Web con .NET y C#

JqueryUIHelper Menu Dialog Draggable Resizable

Page 18: 9 Programación Web con .NET y C#

Autocomplete Si es ajax, necesita 2 campos label y

value de tipo JSON Direccionar con Url.Action() AutoFocus AppendTo MinLength OnSelect

Page 19: 9 Programación Web con .NET y C#

DatePicker MinDate ShowButtonPanel ChangeYear ChangeMonth NumberOfMonths Inline

Page 20: 9 Programación Web con .NET y C#

Menu Se usa MenuItem para crear items

new MenuItem(“Nombre”,Accion)

Page 21: 9 Programación Web con .NET y C#

Tabs Se inicia con BeginTabs Se puede usar Tabs estaticos con beginPanel Tabs Ajax con AjaxTab@using (var t = Html.JQueryUI().BeginTabs()){    t.Tab("Tab 1", "tab1");    t.AjaxTab("Ajax tab", Url.Action(“url"));        using (t.BeginPanel())    {        </p>    }}

Page 22: 9 Programación Web con .NET y C#

Diálogos Se inicia con Begin(new Dialog()) AutoOpen Modal Button CloseOnEscape Draggable Position Resizable