Bem vindos ao Curso de ASP.NET MVC 3 Razor e C# · 2020-06-12 · Qui, 17 de Maio de 2012 16:20 -...
Transcript of Bem vindos ao Curso de ASP.NET MVC 3 Razor e C# · 2020-06-12 · Qui, 17 de Maio de 2012 16:20 -...
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
Bem vindos ao Curso de ASP.NET MVC 3 Razor e C#
Pré-requisitos: O curso de C# Csharp veja aqui e o curso de ASP.NET Básico veja aqui
Valor R$129.00 + frete compre aqui
Veja o video do curso aqui
Aprenda ASP.NET MVC2 e MVC3 usando Razor e C#
V E J A F O N T E S, I M A G E N S E O C R O N O G R A M A D A S A U L A S
aula 4315 ASP.NET MVC2 - Introducao ASP.NET MVC Controller Model View
aula 4316 ASP.NET MVC2 - Mais MVC Controller Model View estrutura
aula 4317 ASP.NET MVC2 - Criando um Controller e Entendendo as Rotas Default HomeController Index ID
aula 4318 ASP.NET MVC2 - Controller ActionResult Index string void response write
1 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
aula 4319 ASP.NET MVC2 - mais Controller Content com parametros ID modificando Rota
aula 4320 ASP.NET MVC2 - Criando View manualmente e automaticamento para Controller
aula 4321 ASP.NET MVC2 - Dicionario ViewData Html Encode passando informacoes entreController e View
aula 4322 ASP.NET MVC2 - Html ActionLink para linkar paginas
aula 4323 ASP.NET MVC2 - Iniciando projeto MVC 2 Web Application wizard
aula 4324 ASP.NET MVC2 - Registrabdo Banco de Dados ADONET Entity Data Model
aula 4325 ASP.NET MVC2 - Listando dados do banco ToList Item Foreach no Index
aula 4326 ASP.NET MVC2 - Details Exibindo Detalhes from cat in where First
aula 4327 ASP.NET MVC2 - Inserindo e gravando dados Create AddTotabela SaveChanges
aula 4328 ASP.NET MVC2 - Editando dados ApplyCurrentValues EntityKey EntitySetName SaveChanges
aula 4329 ASP.NET MVC2 - Excluindo dados DeleteObject SaveChanges
2 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
aula 4330 ASP.NET MVC2 - Bind Exclude ignorando campos na hora de gravar
aula 4331 ASP.NET MVC3 - Iniciando e Instalando MVC 3 Web Platform Installer
aula 4332 ASP.NET MVC3 - Criando novo projeto usando MVC 3 Razor
aula 4333 ASP.NET MVC3 - Implementando View Razor cshtml ARROBA mvc 3 ViewBagDateTime
aula 4334 ASP.NET MVC3 - mais Razor Data e Hora usando IF etc Razor
aula 4335 ASP.NET MVC3 - Novo Projeto Completo com MVC3 e Razor
aula 4336 ASP.NET MVC3 - MVC 3 Controller implementando Details Create Delete Edit
aula 4337 ASP.NET MVC3 - Razor Criando views para Index Details Create Delete Edit
aula 4338 ASP.NET MVC3 - Criando Classes Model get set IList povoando dados professores
aula 4339 ASP.NET MVC3 - Listando um professor arroba model Html DisplayFor
aula 4340 ASP.NET MVC3 - Listando todos professores List foreach Html DisplayFor
3 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
aula 4341 ASP.NET MVC3 - Criando classe Factory Design Pattern Padrao de Projeto eIrmaos
aula 4342 ASP.NET MVC3 - Listando dados com classe Factory Design Pattern Padrao deProjeto
aula 4343 ASP.NET MVC3 - inserir registro model botao submit Html LabelFor EditorFor
aula 4344 ASP.NET MVC3 - HttpPost using Html BeginForm inserir registro model razor
aula 4345 ASP.NET MVC3 - HttpPost HttpContext Current Application Gravando e Listando
aula 4346 ASP.NET MVC3 - Incrementa Codigo Automatico OrderByDescending FirstOrDefault
aula 4347 ASP.NET MVC3 - Melhorando o codigo usando Metodo Construtor
aula 4348 ASP.NET MVC3 - Iniciando Edicao de Registro parametro ID
aula 4349 ASP.NET MVC3 - Finalizando Edicao de Registro HiddenFor
aula 4350 ASP.NET MVC3 - Excluindo Registro Remove e DisplayFor
aula 4351 ASP.NET MVC3 - css editor label field TempData passando informacoes
4 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
aula 4352 ASP.NET MVC3 - customizando erros customErrors mode ON error statusCode 404redirect Pagina Nao Encontrada
aula 4353 ASP.NET MVC3 - HTML ActionLink para Inserir Editar e Excluir dados
aula 4354 ASP.NET MVC3 - EditorForModel para formularios automaticos
aula 4355 ASP.NET MVC3 - ComponentModel DataAnnotations Display RequiredErrorMessage ValidationSummary
aula 4356 ASP.NET MVC3 - DataAnnotations HiddenInput Range DisplayFormatDataFormatString
aula 4357 ASP.NET MVC3 - DataAnnotations DataType Password EmailAddress Url
aula 4358 ASP.NET MVC3 - HttpPost ActionName BeginForm Redirecionado Actions eControllers
aula 4359 ASP.NET MVC3 - override HandleUnknownAction ExecuteResult para quandoAction nao existir
Veja abaixo as imagens das videoaulas:
5 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
Veja abaixo alguns códigos das videoaulas:
namespace Mvc3RazorApplication2.Models
{
public class Professores
6 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
{
[Display(Name="Código")]
//[HiddenInput(DisplayValue=false)]
public int profCodigo { get; set; }
[Display(Name = "Nome do Professor")]
[Required(ErrorMessage="Nome Requerido")]
public string profNome { get; set; }
[Display(Name = "Curso que ele ministra")]
[Required(ErrorMessage = "Curso Requerido")]
public string profCurso { get; set; }
7 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
[Range(16,40,ErrorMessage="A idade é inválida e deve ficar entre 16 e 40 anos")]
public string profIdade { get; set; }
[DisplayFormat(DataFormatString="dd/mm/yyyy")]
public string profData { get; set; }
[DataType(DataType.Password)]
public string profSenha { get; set; }
8 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
[DataType(DataType.Password)]
[Compare("profSenha",ErrorMessage="As senhas não conferem, favor tentar novamente")]
public string profSenha1 { get; set; }
[DataType(DataType.EmailAddress,ErrorMessage="Esse campo não é um email")]
public string profEmail { get; set; }
[DataType(DataType.Url, ErrorMessage = "Esse campo não é uma URL válida")]
public string profSite { get; set; }
}
}
9 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
namespace Mvc3RazorApplication2.Controllers
{
public class CursosController : Controller
{
ASPNETDBEntities1 tabelas = new ASPNETDBEntities1();
// INFORMATICON Videoaulas neri
// GET: /Cursos/
public ActionResult Index()
{
10 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
return View(tabelas.Cursos.ToList());
}
// INFORMATICON Videoaulas neri
// GET: /Cursos/Details/5
public ActionResult Details(int id)
{
var cursoEscolhido = (from cat in tabelas.Cursos where cat.curCodigo == id select cat).First();
return View(cursoEscolhido);
}
// INFORMATICON Videoaulas neri
11 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
//
// GET: /Cursos/Create
public ActionResult Create()
{
return View();
}
// INFORMATICON Videoaulas neri
//
// POST: /Cursos/Create
12 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
[HttpPost]
public ActionResult Create([Bind(Exclude = "curCodigo")]Cursos gravaCursos)
{
try
{
tabelas.AddToCursos(gravaCursos);
tabelas.SaveChanges();
return RedirectToAction("Index");
}
catch
{
13 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
return View();
}
}
// INFORMATICON Videoaulas neri
// GET: /Cursos/Edit/5
public ActionResult Edit(int id)
{
var cursoEscolhido = (from cat in tabelas.Cursos where cat.curCodigo == id select cat).First();
return View(cursoEscolhido);
14 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
}
// INFORMATICON Videoaulas neri
// POST: /Cursos/Edit/5
[HttpPost]
public ActionResult Edit(int id, Cursos EditarCursos)
{
try
{
var cursoEscolhido = (from cat in tabelas.Cursos where cat.curCodigo == id select cat).First();
tabelas.ApplyCurrentValues(cursoEscolhido.EntityKey.EntitySetName, EditarCursos);
15 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
tabelas.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
// INFORMATICON Videoaulas neri
// GET: /Cursos/Delete/5
16 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
public ActionResult Delete(int id)
{
var cursoEscolhido = (from cat in tabelas.Cursos where cat.curCodigo == id select cat).First();
return View(cursoEscolhido);
}
//
// POST: /Cursos/Delete/5
[HttpPost]
public ActionResult Delete(int id, Cursos CursoExcluir)
17 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
{
try
{
var cursoEscolhido = (from cat in tabelas.Cursos where cat.curCodigo == id select cat).First();
tabelas.DeleteObject(cursoEscolhido);
tabelas.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
18 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
}
}
}
}
namespace Mvc3RazorApplication2.Models { public class ProfessoresFactory { publicstatic ProfessoresCrud InstanciarProfessores() { if (HttpContext.Current.Application["cadastroProfessor"] == null) return new ProfessoresCrud(); else return (ProfessoresCrud) HttpContext.Current.Application["cadastroProfessor"]; } } } @model Mvc3RazorApplication2.Models.Cursos @{ ViewBag.Title = "Criando novo Curso"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>Create</h2>
19 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"type="text/javascript"></script> @using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>Cursos</legend> <div class="editor-label"> @Html.LabelFor(model => model.curDescricao) </div> <div class="editor-field"> @Html.EditorFor(model => model.curDescricao) @Html.ValidationMessageFor(model => model.curDescricao) </div> <div class="editor-label"> @Html.LabelFor(model => model.curProfessor) </div> <div class="editor-field"> @Html.EditorFor(model => model.curProfessor) @Html.ValidationMessageFor(model => model.curProfessor) </div> <div class="editor-label"> @Html.LabelFor(model => model.curPreco)
20 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
</div> <div class="editor-field"> @Html.EditorFor(model => model.curPreco) @Html.ValidationMessageFor(model => model.curPreco) </div> <p> <input type="submit" value="Create" /> </p> </fieldset> } <div> @Html.ActionLink("Voltar", "Index") </div>
namespace Mvc3RazorApplication2.Controllers
{
public class ProfessoresController : Controller
21 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
{
// Neri Neitzke - www.informaticon.com.br
// GET: /Professores/
private ProfessoresCrud profcrud;
public ProfessoresController()
{
profcrud = ProfessoresFactory.InstanciarProfessores();
}
public ActionResult Index() //listar todos
{
22 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
//var professores = ProfessoresCrud.ListaProfessores(); //listar todos
//var professores = ProfessoresFactory.InstanciarProfessores().ListarProfessores(); //listartodos com factory
var professores = profcrud.ListarProfessores(); //listar todos com factory
return View(professores);
}
public ActionResult ListaUm()
{
//var professores = ProfessoresCrud.ListaProfessores()[2]; //listar só o índice (só um retorna)
//var professores = ProfessoresFactory.InstanciarProfessores().ListarProfessores()[1]; //listartodos com factory
var professores = profcrud.ListarProfessores()[1]; //listar todos com factory
return View(professores);
23 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
}
// Neri Neitzke - www.informaticon.com.br
public ActionResult NovoProfessor()
{
return View();
}
// Neri Neitzke - www.informaticon.com.br
[HttpPost]
public ActionResult NovoProfessor(Professores professor)
{
24 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
/*var ultimoProfessor = ProfessoresFactory.InstanciarProfessores().ListarProfessores().
OrderByDescending(prof => prof.profCodigo).FirstOrDefault(); //peguei último codigo
professor.profCodigo = ultimoProfessor.profCodigo + 1;
ProfessoresFactory.InstanciarProfessores().InserirProfessor(professor);
var professores = ProfessoresFactory.InstanciarProfessores().ListarProfessores(); //listar todoscom factory */
if (ModelState.IsValid)
{
TempData["mensagem"] = "Professor Gravado com sucesso";
var ultimoProfessor = profcrud.ListarProfessores().
25 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
OrderByDescending(prof => prof.profCodigo).FirstOrDefault(); //peguei último codigo
professor.profCodigo = ultimoProfessor.profCodigo + 1;
profcrud.InserirProfessor(professor);
var professores = profcrud.ListarProfessores(); //listar todos com factory
return View("Index", professores);
}
else
return View();
}
// Neri Neitzke - www.informaticon.com.br
26 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
public ActionResult EditarProfessor(int id)
{
//var qualProfessor = profcrud.ListarProfessores()[id];
var qualProfessor = profcrud.ListarProfessores().Where(prof => prof.profCodigo ==id).FirstOrDefault();
return View(qualProfessor);
}
// Neri Neitzke - www.informaticon.com.br
[HttpPost]
public ActionResult EditarProfessor(Professores professor)
{
27 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
if (ModelState.IsValid)
{
profcrud.editarProfessor(professor);
var professores = profcrud.ListarProfessores(); //listar todos com factory
TempData["mensagem"] = "Professor Alterado com sucesso";
return View("Index", professores);
}
else
return View();
}
// Neri Neitzke - www.informaticon.com.br
28 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
public ActionResult EXcluirProfessor(int id)
{
//var qualProfessor = profcrud.ListarProfessores()[id];
var qualProfessor = profcrud.ListarProfessores().Where(prof => prof.profCodigo ==id).FirstOrDefault();
return View(qualProfessor);
}
// Neri Neitzke - www.informaticon.com.br
/*[HttpPost]
public ActionResult ExcluirProfessor(Professores professor)
{
29 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
profcrud.excluirProfessor(professor);
var professores = profcrud.ListarProfessores(); //listar todos com factory
TempData["mensagem"] = "Professor foi Excluido";
return View("Index", professores);
}*/
[HttpPost]
//[HttpPost, ActionName("EXcluirProfessor")]
public ActionResult ExcluirProfessorSim(Professores professor)
{
profcrud.excluirProfessor(professor);
var professores = profcrud.ListarProfessores(); //listar todos com factory
30 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
TempData["mensagem"] = "Professor foi Excluido";
return View("Index", professores);
}
}
@model Mvc3RazorApplication2.Models.Professores
@{
ViewBag.Title = "NovoProfessor";
Layout = "~/Views/Shared/_Layout.cshtml";
31 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
}
<h2>
Cadastro de Professor</h2>
@using (@Html.BeginForm())
{
<p>@Html.ValidationSummary(false, "Campos Inválidos")</p>
@Html.EditorForModel()
Pré-requisitos: O curso de C# Csharp veja aqui e o curso de ASP.NET Básico veja aqui
Valor R$129.00 compre aqui
Veja o video do curso aqui
32 / 33
ASP.NET MVC
Escrito por Neri NeitzkeQui, 17 de Maio de 2012 16:20 - Última atualização Seg, 21 de Novembro de 2016 15:56
33 / 33