SlideShare una empresa de Scribd logo
Aplicación ABC en ASP.net MVC 3 Razor engine
En este tutorial voy a explicar como programar rápidamente una aplicación ABC muy sencilla pero ideal para entender
este patrón de diseño. Empezamos con una breve explicación.
¿Qué es MVC?
Es uno de los dos modelos de programación que propone Microsoft para el desarrollo de aplicaciones Web.
• ASP.NET WebForm (orientado a eventos)
• ASP.NET MVC (orientado a acciones)
Es un estilo de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de
control en tres componentes distintos (capas: Vista-Modelo-Controlador).
Empezando con el código..
Yo estoy trabajando con Visual Studio 2010 SP1 y el FrameWork MVC 3 para ASP.net, lo pueden descargar de acá
http://www.asp.net/mvc/mvc3.
Bien comenzamos con un nuevo proyecto.
Seleccionan aplicacion de ASP.NET MV3 y aceptar.
En el siguiente cuadro de dialogo seleccionan aplicación de internet, el view Engine debe ser Razor y seleccionan el
checkbox de HTML5 semantic.
Visual Studio crea la estructura para la aplicación. Esta es la propuesta de microsoft sin embargo a muchos
programadores cambian un poco la estructura en proyectos. Bien explico rapidamente esta estructura.
Content: Se utiliza para almacenar todos los archivos relacionados con la
estetica de nuestra App web, Skins, css, imagines, etc.
Controllers: Van los controladores que son los que interactúan con las
vistas (acciones de usuario) y los modelos (la fuente de información),
estos retornan un ViewResult, JSonResult o FileResult en base a la petición
realizada.
Models: Se tiene todo el modelado de la lógica de negocios de nuestra
aplicación. Incluye todas las clases modelo, DataAccess, Repositorios, etc.
Por convención se pone en esta carpeta, pero puede migrarse a un
proyecto separado.
Scripts: Incluye todos los archivos JS y librerías para AJAX, JQuery (por
defecto las incluye visual studio).
Views: Aquí se ponen todos los archivos cshtml, estos archivos
interaccionan con los controladores, pueden ubicarse dentro de una
carpeta shared, aquí se ponen todas las vistas que son de uso
común(controles de usuario, paginas maestras, logins, etc.) o dentro de
una carpeta con el nombre del controlador asociado.
Web.Config: Contiene las configuraciones globales de nuestra App,
cadena de conexión a BDD, autenticación, etc.
Global.asax: Contiene el mapeo de los controladores (tabla de rutas).
Bien vamos a comenzar a crear un nuevo Modelo. Nuestra aplicación inicialmente visualizará una cartera de clientes,
permitirá eliminar, actualizar, y ver el detalle de cada cliente. Comencemos.
Tendrá la siguiente estructura:
Ahora es necesario crear un DbContext, esta clase va a manejar la actualización, inserción y eliminación de datos de
nuestra Base de datos, y de no existir se creara la base de datos automáticamente. Aquí se aplicará el principio de code
First de Entity FrameWork, que permite crear la estructura de la base de datos a partir de un modelado de clases. Ahora
no profundizaremos en el tema. Vamos a centrarnos un poco más en la aplicación. En otro post explicaré como hacer un
uso correcto de Entity Framework en este tipo de proyectos.
Agregar el siguiente namespace y código debajo de la clase UserModel: using System.Data.Entity;
Bien ahora vamos a agregar la conexión a base de datos para nuestra aplicación y para que se genere nuestra BD por
primera vez.
Abrir el archivo web.config y agregar la siguiente cadena
Yo lo use con mi servidor de SQLEXPRESS, deben configurarlo con el nombre de la instancia de su servidor si es que no
utilizaron el nombre con el que se instala por default.
Bien ahora vamos a crear un controlador para ese modelo. Y las vistas que van a consumir ese controller, las vistas se
van a generar mediante un template. Bien ahora dar clic derecho en la carpeta de Controllers y dar clic en add new
controller.
Se han generado una serie de archivos.
Se generó el código para el controller de User y una carpeta llamada User con las vistas para crea, eliminar, editar y el
index, que será nuestro listado de usuarios.
Cuando se agregó el controller se especificó el modelo y el template para leer y escribir ActionsResults y Views. Vamos a
darle una examinada al código.
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Usuarios.Models;
namespace Usuarios.Controllers
{
public class UserController : Controller
{
private UserDBContext db = new UserDBContext();
//
// GET: /User/
/// <summary>
/// Vista que se mostrará por defecto con la lista de usuarios
/// al cargar la pagina http://localhost/User
/// </summary>
/// <returns></returns>
public ViewResult Index()
{
return View(db.Users.ToList());
}
/// <summary>
/// dado un id vamos a buscar en la tabla usuarios ese id y regresar la vista
/// que visualiza el detalle del usuario
/// </summary>
/// <param name="id">id que se desea mostrar</param>
/// <returns></returns>
public ViewResult Details(int id)
{
UserModel usermodel = db.Users.Find(id);
return View(usermodel);
}
//
// GET: /User/Create
/// <summary>
/// retorna la vista para introducir los datos
/// de un nuevo usuario
/// </summary>
/// <returns></returns>
public ActionResult Create()
{
return View();
}
//
// POST: /User/Create
/// <summary>
/// despues de introducir los datos de un nuevo usuario
/// se agregar un registro a la tabla de users y se guardan los cambios
/// se retorna la vista principal. ActionResult Index()
/// </summary>
/// <param name="usermodel"></param>
/// <returns></returns>
[HttpPost]
public ActionResult Create(UserModel usermodel)
{
if (ModelState.IsValid)
{
db.Users.Add(usermodel);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(usermodel);
}
//
// GET: /User/Edit/5
/// <summary>
/// dado un id se busca un registro en la bd
/// y se retorna una vista con la informacion de
/// ese user. View(usermodel) para proceder a editar
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public ActionResult Edit(int id)
{
UserModel usermodel = db.Users.Find(id);
return View(usermodel);
}
//
// POST: /User/Edit/5
/// <summary>
/// despues de editar el user se actualiza su state
/// y se guardan los cambios.
/// </summary>
/// <param name="usermodel"></param>
/// <returns></returns>
[HttpPost]
public ActionResult Edit(UserModel usermodel)
{
if (ModelState.IsValid)
{
db.Entry(usermodel).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(usermodel);
}
//
// GET: /User/Delete/5
public ActionResult Delete(int id)
{
UserModel usermodel = db.Users.Find(id);
return View(usermodel);
}
//
// POST: /User/Delete/5
[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
UserModel usermodel = db.Users.Find(id);
db.Users.Remove(usermodel);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
}
}
Y la vista que crea la tabla de usuarios y que es mostrada al inicio (ahora no explicaremos los HTML Helpers). Solo
veremos cómo se genera la tabla únicamente con html y código embebido solo para la presentación.
@model IEnumerable<Usuarios.Models.UserModel>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
Name
</th>
<th>
LastName
</th>
<th>
Age
</th>
<th>
RegistrationDate
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Age)
</td>
<td>
@Html.DisplayFor(modelItem => item.RegistrationDate)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
@Html.ActionLink("Details", "Details", new { id=item.ID }) |
@Html.ActionLink("Delete", "Delete", new { id=item.ID })
</td>
</tr>
}
</table>
Bien ahora vamos a correr nuestra App Web. Y podemos acceder a la página agregando al url /NombreControlador
http://localhost:4055/User
Bien ahora vamos a crear un usuario y editar alguno.
Incluso nuestra aplicación genera las validaciones para los formularios basándose en el tipo de dato del modelo que
hemos creado. Esta fue la primera parte. En próximos post explicare las validaciones, helpers y otros detalles para hacer
una aplicación más robusta. Este fue un ejemplo y no se aplicaron todas las mejores practicas de desarrollo. Como
recomendación lean el código y hagan debug para ver el flujo de la aplicación y entender mejor el patrón.
Espero que les haya servido.
Aplicación abc. asp net mvc 3

Más contenido relacionado

La actualidad más candente

Giáo trình cây chè - Đỗ Ngọc Oanh;Hoàng Văn Chung;Lê Tất Khương.pdf
Giáo trình cây chè - Đỗ Ngọc Oanh;Hoàng Văn Chung;Lê Tất Khương.pdfGiáo trình cây chè - Đỗ Ngọc Oanh;Hoàng Văn Chung;Lê Tất Khương.pdf
Giáo trình cây chè - Đỗ Ngọc Oanh;Hoàng Văn Chung;Lê Tất Khương.pdf
Man_Ebook
 
Tài liệu bài giảng qủan trị nguồn nhân lực.pgs ts trần kim dung ppt
Tài liệu bài giảng qủan trị nguồn nhân lực.pgs ts trần kim dung pptTài liệu bài giảng qủan trị nguồn nhân lực.pgs ts trần kim dung ppt
Tài liệu bài giảng qủan trị nguồn nhân lực.pgs ts trần kim dung ppt
Thanh Hoa
 
Luận văn: Tạo động lực làm việc cho viên chức bệnh viện đa khoa
Luận văn: Tạo động lực làm việc cho viên chức bệnh viện đa khoaLuận văn: Tạo động lực làm việc cho viên chức bệnh viện đa khoa
Luận văn: Tạo động lực làm việc cho viên chức bệnh viện đa khoa
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Luận văn: Hoàn thiện công tác quản trị nguồn nhân lực tại công ty Hồng Hà, HAY
Luận văn: Hoàn thiện công tác quản trị nguồn nhân lực tại công ty Hồng Hà, HAYLuận văn: Hoàn thiện công tác quản trị nguồn nhân lực tại công ty Hồng Hà, HAY
Luận văn: Hoàn thiện công tác quản trị nguồn nhân lực tại công ty Hồng Hà, HAY
Viết thuê trọn gói ZALO 0934573149
 
Đề tài: Xây dựng website quản lý thông tin của giảng viên, HAY
Đề tài: Xây dựng website quản lý thông tin của giảng viên, HAYĐề tài: Xây dựng website quản lý thông tin của giảng viên, HAY
Đề tài: Xây dựng website quản lý thông tin của giảng viên, HAY
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Đề tài: Động lực làm việc cho viên chức bệnh viện Đông Anh, HAY
Đề tài: Động lực làm việc cho viên chức bệnh viện Đông Anh, HAYĐề tài: Động lực làm việc cho viên chức bệnh viện Đông Anh, HAY
Đề tài: Động lực làm việc cho viên chức bệnh viện Đông Anh, HAY
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Luận văn: Phát triển văn hóa doanh nghiệp công ty nhựa, HAY
Luận văn: Phát triển văn hóa doanh nghiệp công ty nhựa, HAYLuận văn: Phát triển văn hóa doanh nghiệp công ty nhựa, HAY
Luận văn: Phát triển văn hóa doanh nghiệp công ty nhựa, HAY
Viết thuê trọn gói ZALO 0934573149
 
Đề tài luận văn 2024 Nâng cao chất lượng nguồn nhân lực tại Trường Đại học Ki...
Đề tài luận văn 2024 Nâng cao chất lượng nguồn nhân lực tại Trường Đại học Ki...Đề tài luận văn 2024 Nâng cao chất lượng nguồn nhân lực tại Trường Đại học Ki...
Đề tài luận văn 2024 Nâng cao chất lượng nguồn nhân lực tại Trường Đại học Ki...
lamluanvan.net Viết thuê luận văn
 
Luận văn: Tạo động lực cho người lao động tại Công ty vật liệu, HOT
Luận văn: Tạo động lực cho người lao động tại Công ty vật liệu, HOTLuận văn: Tạo động lực cho người lao động tại Công ty vật liệu, HOT
Luận văn: Tạo động lực cho người lao động tại Công ty vật liệu, HOT
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Luận văn: Tạo động lực lao động tại Công ty cổ phần Thái Tuấn
Luận văn: Tạo động lực lao động tại Công ty cổ phần Thái TuấnLuận văn: Tạo động lực lao động tại Công ty cổ phần Thái Tuấn
Luận văn: Tạo động lực lao động tại Công ty cổ phần Thái Tuấn
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
XÂY DỰNG HỆ THỐNG TÀI LIỆU ISO 22000:2005
XÂY DỰNG HỆ THỐNG TÀI LIỆU ISO 22000:2005XÂY DỰNG HỆ THỐNG TÀI LIỆU ISO 22000:2005
XÂY DỰNG HỆ THỐNG TÀI LIỆU ISO 22000:2005
SUẤT ĂN CÔNG NGHIỆP VIỆT NAM
 
Lễ hội đình làng trung nghĩa nét đẹp trong sinh hoạt văn hóa cộng đồng
Lễ hội đình làng trung nghĩa   nét đẹp trong sinh hoạt văn hóa cộng đồngLễ hội đình làng trung nghĩa   nét đẹp trong sinh hoạt văn hóa cộng đồng
Lễ hội đình làng trung nghĩa nét đẹp trong sinh hoạt văn hóa cộng đồng
ttkhhanam
 
Luận văn: Phát triển nguồn nhân lực tại Trường ĐH Nội Vụ Hà Nội
Luận văn: Phát triển nguồn nhân lực tại Trường ĐH Nội Vụ Hà NộiLuận văn: Phát triển nguồn nhân lực tại Trường ĐH Nội Vụ Hà Nội
Luận văn: Phát triển nguồn nhân lực tại Trường ĐH Nội Vụ Hà Nội
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Luận Văn Một Số Giải Pháp Hoàn Thiện Quản Trị Nguồn Nhân Lực Công Ty Hoá Chất.
Luận Văn Một Số Giải Pháp Hoàn Thiện Quản Trị Nguồn Nhân Lực Công Ty Hoá Chất.Luận Văn Một Số Giải Pháp Hoàn Thiện Quản Trị Nguồn Nhân Lực Công Ty Hoá Chất.
Luận Văn Một Số Giải Pháp Hoàn Thiện Quản Trị Nguồn Nhân Lực Công Ty Hoá Chất.
Dịch Vụ Viết Thuê Luận Văn Zalo : 0932.091.562
 
Luận văn: Giải pháp tạo động lực cho người lao động, HOT
Luận văn: Giải pháp tạo động lực cho người lao động, HOTLuận văn: Giải pháp tạo động lực cho người lao động, HOT
Luận văn: Giải pháp tạo động lực cho người lao động, HOT
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Luận văn: Tạo động lực lao động bằng kích thích phi vật chất, HAY
Luận văn: Tạo động lực lao động bằng kích thích phi vật chất, HAYLuận văn: Tạo động lực lao động bằng kích thích phi vật chất, HAY
Luận văn: Tạo động lực lao động bằng kích thích phi vật chất, HAY
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Phan tich du_lieu_thong_ke_va_python
Phan tich du_lieu_thong_ke_va_pythonPhan tich du_lieu_thong_ke_va_python
Phan tich du_lieu_thong_ke_va_python
tNguyn33935
 
Đề tài: Ảnh hưởng môi trường làm việc đến kết quả công việc, HOT
Đề tài: Ảnh hưởng môi trường làm việc đến kết quả công việc, HOTĐề tài: Ảnh hưởng môi trường làm việc đến kết quả công việc, HOT
Đề tài: Ảnh hưởng môi trường làm việc đến kết quả công việc, HOT
Dịch vụ viết bài trọn gói ZALO 0917193864
 
SPSS Lession 5.2 Phân tích tương quan từng phần (Partial Correlation)
SPSS Lession 5.2 Phân tích tương quan từng phần (Partial Correlation)SPSS Lession 5.2 Phân tích tương quan từng phần (Partial Correlation)
SPSS Lession 5.2 Phân tích tương quan từng phần (Partial Correlation)
Si Thinh Hoang
 
Yếu tố ảnh hưởng đến sự gắn kết của nhân viên với công ty, HAY
Yếu tố ảnh hưởng đến sự gắn kết của nhân viên với công ty, HAYYếu tố ảnh hưởng đến sự gắn kết của nhân viên với công ty, HAY
Yếu tố ảnh hưởng đến sự gắn kết của nhân viên với công ty, HAY
Viết thuê trọn gói ZALO 0934573149
 

La actualidad más candente (20)

Giáo trình cây chè - Đỗ Ngọc Oanh;Hoàng Văn Chung;Lê Tất Khương.pdf
Giáo trình cây chè - Đỗ Ngọc Oanh;Hoàng Văn Chung;Lê Tất Khương.pdfGiáo trình cây chè - Đỗ Ngọc Oanh;Hoàng Văn Chung;Lê Tất Khương.pdf
Giáo trình cây chè - Đỗ Ngọc Oanh;Hoàng Văn Chung;Lê Tất Khương.pdf
 
Tài liệu bài giảng qủan trị nguồn nhân lực.pgs ts trần kim dung ppt
Tài liệu bài giảng qủan trị nguồn nhân lực.pgs ts trần kim dung pptTài liệu bài giảng qủan trị nguồn nhân lực.pgs ts trần kim dung ppt
Tài liệu bài giảng qủan trị nguồn nhân lực.pgs ts trần kim dung ppt
 
Luận văn: Tạo động lực làm việc cho viên chức bệnh viện đa khoa
Luận văn: Tạo động lực làm việc cho viên chức bệnh viện đa khoaLuận văn: Tạo động lực làm việc cho viên chức bệnh viện đa khoa
Luận văn: Tạo động lực làm việc cho viên chức bệnh viện đa khoa
 
Luận văn: Hoàn thiện công tác quản trị nguồn nhân lực tại công ty Hồng Hà, HAY
Luận văn: Hoàn thiện công tác quản trị nguồn nhân lực tại công ty Hồng Hà, HAYLuận văn: Hoàn thiện công tác quản trị nguồn nhân lực tại công ty Hồng Hà, HAY
Luận văn: Hoàn thiện công tác quản trị nguồn nhân lực tại công ty Hồng Hà, HAY
 
Đề tài: Xây dựng website quản lý thông tin của giảng viên, HAY
Đề tài: Xây dựng website quản lý thông tin của giảng viên, HAYĐề tài: Xây dựng website quản lý thông tin của giảng viên, HAY
Đề tài: Xây dựng website quản lý thông tin của giảng viên, HAY
 
Đề tài: Động lực làm việc cho viên chức bệnh viện Đông Anh, HAY
Đề tài: Động lực làm việc cho viên chức bệnh viện Đông Anh, HAYĐề tài: Động lực làm việc cho viên chức bệnh viện Đông Anh, HAY
Đề tài: Động lực làm việc cho viên chức bệnh viện Đông Anh, HAY
 
Luận văn: Phát triển văn hóa doanh nghiệp công ty nhựa, HAY
Luận văn: Phát triển văn hóa doanh nghiệp công ty nhựa, HAYLuận văn: Phát triển văn hóa doanh nghiệp công ty nhựa, HAY
Luận văn: Phát triển văn hóa doanh nghiệp công ty nhựa, HAY
 
Đề tài luận văn 2024 Nâng cao chất lượng nguồn nhân lực tại Trường Đại học Ki...
Đề tài luận văn 2024 Nâng cao chất lượng nguồn nhân lực tại Trường Đại học Ki...Đề tài luận văn 2024 Nâng cao chất lượng nguồn nhân lực tại Trường Đại học Ki...
Đề tài luận văn 2024 Nâng cao chất lượng nguồn nhân lực tại Trường Đại học Ki...
 
Luận văn: Tạo động lực cho người lao động tại Công ty vật liệu, HOT
Luận văn: Tạo động lực cho người lao động tại Công ty vật liệu, HOTLuận văn: Tạo động lực cho người lao động tại Công ty vật liệu, HOT
Luận văn: Tạo động lực cho người lao động tại Công ty vật liệu, HOT
 
Luận văn: Tạo động lực lao động tại Công ty cổ phần Thái Tuấn
Luận văn: Tạo động lực lao động tại Công ty cổ phần Thái TuấnLuận văn: Tạo động lực lao động tại Công ty cổ phần Thái Tuấn
Luận văn: Tạo động lực lao động tại Công ty cổ phần Thái Tuấn
 
XÂY DỰNG HỆ THỐNG TÀI LIỆU ISO 22000:2005
XÂY DỰNG HỆ THỐNG TÀI LIỆU ISO 22000:2005XÂY DỰNG HỆ THỐNG TÀI LIỆU ISO 22000:2005
XÂY DỰNG HỆ THỐNG TÀI LIỆU ISO 22000:2005
 
Lễ hội đình làng trung nghĩa nét đẹp trong sinh hoạt văn hóa cộng đồng
Lễ hội đình làng trung nghĩa   nét đẹp trong sinh hoạt văn hóa cộng đồngLễ hội đình làng trung nghĩa   nét đẹp trong sinh hoạt văn hóa cộng đồng
Lễ hội đình làng trung nghĩa nét đẹp trong sinh hoạt văn hóa cộng đồng
 
Luận văn: Phát triển nguồn nhân lực tại Trường ĐH Nội Vụ Hà Nội
Luận văn: Phát triển nguồn nhân lực tại Trường ĐH Nội Vụ Hà NộiLuận văn: Phát triển nguồn nhân lực tại Trường ĐH Nội Vụ Hà Nội
Luận văn: Phát triển nguồn nhân lực tại Trường ĐH Nội Vụ Hà Nội
 
Luận Văn Một Số Giải Pháp Hoàn Thiện Quản Trị Nguồn Nhân Lực Công Ty Hoá Chất.
Luận Văn Một Số Giải Pháp Hoàn Thiện Quản Trị Nguồn Nhân Lực Công Ty Hoá Chất.Luận Văn Một Số Giải Pháp Hoàn Thiện Quản Trị Nguồn Nhân Lực Công Ty Hoá Chất.
Luận Văn Một Số Giải Pháp Hoàn Thiện Quản Trị Nguồn Nhân Lực Công Ty Hoá Chất.
 
Luận văn: Giải pháp tạo động lực cho người lao động, HOT
Luận văn: Giải pháp tạo động lực cho người lao động, HOTLuận văn: Giải pháp tạo động lực cho người lao động, HOT
Luận văn: Giải pháp tạo động lực cho người lao động, HOT
 
Luận văn: Tạo động lực lao động bằng kích thích phi vật chất, HAY
Luận văn: Tạo động lực lao động bằng kích thích phi vật chất, HAYLuận văn: Tạo động lực lao động bằng kích thích phi vật chất, HAY
Luận văn: Tạo động lực lao động bằng kích thích phi vật chất, HAY
 
Phan tich du_lieu_thong_ke_va_python
Phan tich du_lieu_thong_ke_va_pythonPhan tich du_lieu_thong_ke_va_python
Phan tich du_lieu_thong_ke_va_python
 
Đề tài: Ảnh hưởng môi trường làm việc đến kết quả công việc, HOT
Đề tài: Ảnh hưởng môi trường làm việc đến kết quả công việc, HOTĐề tài: Ảnh hưởng môi trường làm việc đến kết quả công việc, HOT
Đề tài: Ảnh hưởng môi trường làm việc đến kết quả công việc, HOT
 
SPSS Lession 5.2 Phân tích tương quan từng phần (Partial Correlation)
SPSS Lession 5.2 Phân tích tương quan từng phần (Partial Correlation)SPSS Lession 5.2 Phân tích tương quan từng phần (Partial Correlation)
SPSS Lession 5.2 Phân tích tương quan từng phần (Partial Correlation)
 
Yếu tố ảnh hưởng đến sự gắn kết của nhân viên với công ty, HAY
Yếu tố ảnh hưởng đến sự gắn kết của nhân viên với công ty, HAYYếu tố ảnh hưởng đến sự gắn kết của nhân viên với công ty, HAY
Yếu tố ảnh hưởng đến sự gắn kết của nhân viên với công ty, HAY
 

Similar a Aplicación abc. asp net mvc 3

Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
carlossanchezvillena
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
ASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - Introducción a ASP.NET MVCASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - Introducción a ASP.NET MVC
Danae Aguilar Guzmán
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generationSergi Almar i Graupera
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
Eudris Cabrera
 
Taller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataformaTaller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataforma
Luis Beltran
 
Guia herramientas de bd
Guia herramientas de bdGuia herramientas de bd
Guia herramientas de bd
lissette_torrealba
 
Aplicaciones en capas1
Aplicaciones en capas1Aplicaciones en capas1
Aplicaciones en capas1
mariana
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
Omar Rios
 
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Sorey García
 
Introduccion mvc
Introduccion mvcIntroduccion mvc
Introduccion mvc
lissette_torrealba
 
APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
MarlonAlbertoGalvis
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gioRobert Wolf
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controladordescarga2009
 
MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
Senior Dev
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
Jose Juan R. Zuñiga
 

Similar a Aplicación abc. asp net mvc 3 (20)

Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
Jquery Hmvc
 
ASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - Introducción a ASP.NET MVCASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - Introducción a ASP.NET MVC
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Taller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataformaTaller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataforma
 
DAM-S7.pptx
DAM-S7.pptxDAM-S7.pptx
DAM-S7.pptx
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
Guia herramientas de bd
Guia herramientas de bdGuia herramientas de bd
Guia herramientas de bd
 
Aplicaciones en capas1
Aplicaciones en capas1Aplicaciones en capas1
Aplicaciones en capas1
 
01 introducción
01 introducción01 introducción
01 introducción
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
 
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
 
Introduccion mvc
Introduccion mvcIntroduccion mvc
Introduccion mvc
 
APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gio
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
 
Programacion 3 mvc
Programacion 3 mvcProgramacion 3 mvc
Programacion 3 mvc
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 

Último

TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
JuanPrez962115
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 

Último (20)

TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 

Aplicación abc. asp net mvc 3

  • 1. Aplicación ABC en ASP.net MVC 3 Razor engine En este tutorial voy a explicar como programar rápidamente una aplicación ABC muy sencilla pero ideal para entender este patrón de diseño. Empezamos con una breve explicación. ¿Qué es MVC? Es uno de los dos modelos de programación que propone Microsoft para el desarrollo de aplicaciones Web. • ASP.NET WebForm (orientado a eventos) • ASP.NET MVC (orientado a acciones) Es un estilo de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos (capas: Vista-Modelo-Controlador). Empezando con el código.. Yo estoy trabajando con Visual Studio 2010 SP1 y el FrameWork MVC 3 para ASP.net, lo pueden descargar de acá http://www.asp.net/mvc/mvc3. Bien comenzamos con un nuevo proyecto. Seleccionan aplicacion de ASP.NET MV3 y aceptar. En el siguiente cuadro de dialogo seleccionan aplicación de internet, el view Engine debe ser Razor y seleccionan el checkbox de HTML5 semantic.
  • 2. Visual Studio crea la estructura para la aplicación. Esta es la propuesta de microsoft sin embargo a muchos programadores cambian un poco la estructura en proyectos. Bien explico rapidamente esta estructura. Content: Se utiliza para almacenar todos los archivos relacionados con la estetica de nuestra App web, Skins, css, imagines, etc. Controllers: Van los controladores que son los que interactúan con las vistas (acciones de usuario) y los modelos (la fuente de información), estos retornan un ViewResult, JSonResult o FileResult en base a la petición realizada. Models: Se tiene todo el modelado de la lógica de negocios de nuestra aplicación. Incluye todas las clases modelo, DataAccess, Repositorios, etc. Por convención se pone en esta carpeta, pero puede migrarse a un proyecto separado. Scripts: Incluye todos los archivos JS y librerías para AJAX, JQuery (por defecto las incluye visual studio). Views: Aquí se ponen todos los archivos cshtml, estos archivos interaccionan con los controladores, pueden ubicarse dentro de una carpeta shared, aquí se ponen todas las vistas que son de uso común(controles de usuario, paginas maestras, logins, etc.) o dentro de una carpeta con el nombre del controlador asociado. Web.Config: Contiene las configuraciones globales de nuestra App, cadena de conexión a BDD, autenticación, etc. Global.asax: Contiene el mapeo de los controladores (tabla de rutas).
  • 3. Bien vamos a comenzar a crear un nuevo Modelo. Nuestra aplicación inicialmente visualizará una cartera de clientes, permitirá eliminar, actualizar, y ver el detalle de cada cliente. Comencemos. Tendrá la siguiente estructura: Ahora es necesario crear un DbContext, esta clase va a manejar la actualización, inserción y eliminación de datos de nuestra Base de datos, y de no existir se creara la base de datos automáticamente. Aquí se aplicará el principio de code First de Entity FrameWork, que permite crear la estructura de la base de datos a partir de un modelado de clases. Ahora no profundizaremos en el tema. Vamos a centrarnos un poco más en la aplicación. En otro post explicaré como hacer un uso correcto de Entity Framework en este tipo de proyectos. Agregar el siguiente namespace y código debajo de la clase UserModel: using System.Data.Entity;
  • 4. Bien ahora vamos a agregar la conexión a base de datos para nuestra aplicación y para que se genere nuestra BD por primera vez. Abrir el archivo web.config y agregar la siguiente cadena Yo lo use con mi servidor de SQLEXPRESS, deben configurarlo con el nombre de la instancia de su servidor si es que no utilizaron el nombre con el que se instala por default. Bien ahora vamos a crear un controlador para ese modelo. Y las vistas que van a consumir ese controller, las vistas se van a generar mediante un template. Bien ahora dar clic derecho en la carpeta de Controllers y dar clic en add new controller. Se han generado una serie de archivos.
  • 5. Se generó el código para el controller de User y una carpeta llamada User con las vistas para crea, eliminar, editar y el index, que será nuestro listado de usuarios. Cuando se agregó el controller se especificó el modelo y el template para leer y escribir ActionsResults y Views. Vamos a darle una examinada al código. using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Linq; using System.Web; using System.Web.Mvc; using Usuarios.Models; namespace Usuarios.Controllers { public class UserController : Controller { private UserDBContext db = new UserDBContext(); // // GET: /User/ /// <summary> /// Vista que se mostrará por defecto con la lista de usuarios /// al cargar la pagina http://localhost/User /// </summary> /// <returns></returns> public ViewResult Index() { return View(db.Users.ToList()); } /// <summary> /// dado un id vamos a buscar en la tabla usuarios ese id y regresar la vista /// que visualiza el detalle del usuario /// </summary> /// <param name="id">id que se desea mostrar</param> /// <returns></returns> public ViewResult Details(int id) { UserModel usermodel = db.Users.Find(id); return View(usermodel); } // // GET: /User/Create /// <summary> /// retorna la vista para introducir los datos /// de un nuevo usuario /// </summary> /// <returns></returns> public ActionResult Create() { return View(); } // // POST: /User/Create /// <summary> /// despues de introducir los datos de un nuevo usuario
  • 6. /// se agregar un registro a la tabla de users y se guardan los cambios /// se retorna la vista principal. ActionResult Index() /// </summary> /// <param name="usermodel"></param> /// <returns></returns> [HttpPost] public ActionResult Create(UserModel usermodel) { if (ModelState.IsValid) { db.Users.Add(usermodel); db.SaveChanges(); return RedirectToAction("Index"); } return View(usermodel); } // // GET: /User/Edit/5 /// <summary> /// dado un id se busca un registro en la bd /// y se retorna una vista con la informacion de /// ese user. View(usermodel) para proceder a editar /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Edit(int id) { UserModel usermodel = db.Users.Find(id); return View(usermodel); } // // POST: /User/Edit/5 /// <summary> /// despues de editar el user se actualiza su state /// y se guardan los cambios. /// </summary> /// <param name="usermodel"></param> /// <returns></returns> [HttpPost] public ActionResult Edit(UserModel usermodel) { if (ModelState.IsValid) { db.Entry(usermodel).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(usermodel); } // // GET: /User/Delete/5 public ActionResult Delete(int id) { UserModel usermodel = db.Users.Find(id); return View(usermodel); } // // POST: /User/Delete/5
  • 7. [HttpPost, ActionName("Delete")] public ActionResult DeleteConfirmed(int id) { UserModel usermodel = db.Users.Find(id); db.Users.Remove(usermodel); db.SaveChanges(); return RedirectToAction("Index"); } protected override void Dispose(bool disposing) { db.Dispose(); base.Dispose(disposing); } } } Y la vista que crea la tabla de usuarios y que es mostrada al inicio (ahora no explicaremos los HTML Helpers). Solo veremos cómo se genera la tabla únicamente con html y código embebido solo para la presentación. @model IEnumerable<Usuarios.Models.UserModel> @{ ViewBag.Title = "Index"; } <h2>Index</h2> <p> @Html.ActionLink("Create New", "Create") </p> <table> <tr> <th> Name </th> <th> LastName </th> <th> Age </th> <th> RegistrationDate </th> <th></th> </tr> @foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.Name) </td> <td> @Html.DisplayFor(modelItem => item.LastName) </td> <td> @Html.DisplayFor(modelItem => item.Age) </td> <td> @Html.DisplayFor(modelItem => item.RegistrationDate)
  • 8. </td> <td> @Html.ActionLink("Edit", "Edit", new { id=item.ID }) | @Html.ActionLink("Details", "Details", new { id=item.ID }) | @Html.ActionLink("Delete", "Delete", new { id=item.ID }) </td> </tr> } </table> Bien ahora vamos a correr nuestra App Web. Y podemos acceder a la página agregando al url /NombreControlador http://localhost:4055/User Bien ahora vamos a crear un usuario y editar alguno. Incluso nuestra aplicación genera las validaciones para los formularios basándose en el tipo de dato del modelo que hemos creado. Esta fue la primera parte. En próximos post explicare las validaciones, helpers y otros detalles para hacer una aplicación más robusta. Este fue un ejemplo y no se aplicaron todas las mejores practicas de desarrollo. Como recomendación lean el código y hagan debug para ver el flujo de la aplicación y entender mejor el patrón. Espero que les haya servido.