Novedades a vista de pájaro

Anuncio
Visual Studio 11
4/19/2013
ASP.NET WebForms 4.5
Luis Alfonso Rey, Servicios Profesionales
l.alfonso@danysoft.com | www.danysoft.com
Novedades a vista de pájaro
Webforms algo rezagada de MVC – rumores
Webforms tiene su uso y MVC el suyo
Novedades principales
Model Binding
Validaciones
Web API
1
Visual Studio 11
4/19/2013
Model Binding
Los controles de isla de datos pueden enlazar con
métodos de la página
public IQueryable<Category> GetCategories()
{
var northwind = new Northwind();
return northwind.Categories.Include(c =>
c.Products);
}<asp:GridView ID="categoriesGrid" runat="server" ModelType="WebApplication1.Model.Catego
SelectMethod="GetCategories" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="CategoryID" HeaderText="ID" />
<asp:BoundField DataField="CategoryName" HeaderText="Name" />
<asp:BoundField DataField="Description" HeaderText="Description" />
<asp:TemplateField HeaderText="# of Products">
<ItemTemplate><%# Item.Products.Count %></ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Value Providers
Los métodos pueden ser filtrados
Enlace automático con controles y querystring
Atributos [QueryString] y [Control]
2
Visual Studio 11
4/19/2013
Actualizaciones del modelo
Se puede actualizar mediante el UpdateMethod
Dos aproximaciones cambiar el estado del elemento o
TryUpdateModel
public void UpdateProduct(int productId)
{
var product = _db.Products.Find(productId);
TryUpdateModel(product);
if (ModelState.IsValid)
{
_db.SaveChanges();
}
public void UpdateProduct(Product product)
{
_db.Entry(product).State = System.Data.EntityState.Modified;
_db.SaveChanges();
}
}
Validaciones
Validaciones por atributos en la entidada, ej:
– [Required]
– [StringLength(40)]
– [DataType(DataType.Currency)]
Mostrar los errores de validación en un Summary y el
parámetro ShowModelStateErrors
3
Visual Studio 11
4/19/2013
Model Binding
ASP.NET Web API
Abraza el HTTP
– Negociación de contenido
– Enrutado basado en verbos
(ASP NET Routing)
(ASP.NET
– Construye servicios “restful”
Soporta cualquier cliente
– Dispositivos móviles
– Lenguajes de script
Modelo de programación
de primera clase
– Soportado simétrica en el cliente
– (via el nuevo HttpClient) y servidor
4
Visual Studio 11
4/19/2013
Como usar Web API
Añadir un controlador con acciones
Configurar el routing en Application_Start
Application Start
Invocar desde cliente con Ajax (JQuery)
Controlador
public class ProductsController : ApiController
{
public IEnumerable<Product> GetAllProducts()
{
}
public Product GetProductById(int id)
{
}
public IEnumerable<Product> GetProductsByCategory(string category)
{
}
}
5
Visual Studio 11
4/19/2013
Routing
using System.Web.Http;
RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate:
t T
l t "api/{controller}/{id}",
" i/{
t ll }/{id}"
defaults: new { id =
System.Web.Http.RouteParameter.Optional }
);
Petición Ajax
function getProducts() {
$.getJSON("api/products",
function (data) {
$.each(data, function (key, val) {
//val es cada dato devuelto
});
});
}
$(document).ready(getProducts);
6
Visual Studio 11
4/19/2013
Web API
7
Visual Studio 11
4/19/2013
www
w.danysoft.ccom
http://www.danysoft.com/visualstudio
8
Descargar