Desenvolvimento - ASP. NET

Novidades do ASP.NET MVC 3 Beta

Nesse artigo será mostrado um overview do que foi adicionado no ASP.NET MVC 3.

por André Baltieri



Introdução

Há pouco fora lançado a primeira versão beta do ASP.NET MVC 3. Aqui neste artigo, vou falar sobre algumas novidades que vem por aí. Confiram!

NuPackage Manager

O NuPackage Manager (http://nupack.codeplex.com/) é uma ferramenta para gerenciamento de pacotes integrados para os addins e projetos do Visual Studio. O NuPackage pode ser usado na command line ou na console integrada dentro do VS.

Melhorias na janela “New Project”

Agora quando abrimos a janela de novos projetos, podemos selecionar a View Engine que queremos utilizar e temos a decisão entre um website vazio ou um internet application.

Descrição: image

Simplificação na maneira de especificar Strongly Typed Models no Razor Engine

Agora para especificar o model (Strongly Typed) no CSHTML, podemos utilizar o @model (CSHTML) e o @ModelType (VBHTML– Sim, temos VBHTML agora). Sendo assim, aqui fica o antes e o agora.

Antes:

   1: @inherits System.Web.Mvc.WebViewPage<MyModelNamespace.MyModelType>

Agora:

   1: @model MyModelNamespace.MyModelType

Suporte para novos helpers das web pagesASP.NET

Abaixo uma breve descrição dos novos helpers adicionados nessa versão (System.Web.Helpers).

  • Chart– Renderiza charts na View. Contém métodos como Chart.ToWebImage, Chart.Save e Chart.Write
  • Crypto– Usado para criptografias (Senhas por exemplo).
  • WebGrid– Renderiza uma coleção de objetos (Dados da base de dados) como uma grid. Suporta paginação e ordenação.
  • WebImage– Renderiza uma imagem.
  • WebMail– Envia E-mails.

Suporte adicional para injeção de dependência

Dois novos serviços e quatro outros serviços foram incluídos e melhorados nesta versão. Não entrarei em detalhes aqui pois posteriormente escreverei sobre.

Os dois novos serviços adicionados foram o IControllerActivator e IViewActivator.

Suporte ao jQuery-Based Ajax discreto

Atualmente temos os métodos Ajax.ActionLink, Ajax.RouteLink, Ajax.BeginForm e Ajax.BeginRouteForm. Estes métodos utilizam javascript para invocar um Action ao invés do postback.

Estas funcionalidades agora foram atualizadas para tirar maior vantagem do jQuery.

Suporte ao jQuery Validation discreto

Por padrão agora, as aplicações ASP.NET MVC 3 Beta utilizam jQuery Validation de forma discreta (sem postback).

Para fazer estas chamadas, habilite o ClientValidation na view:

   1: Html.EnableClientValidation();

E então habilite o UnobtrusiveJavaScript:

   1: Html.EnableUnobtrusiveJavaScript();

Estas opções já vem como padrão no Web.Config.

Também podemos globalizar estas opções, para isto, no Web.Config mude:

   1: <configuration>

   2:     <appSettings>

   3:         <add key="ClientValidationEnabled" value="true"/>

   4:         <add key="UnobtrusiveJavaScriptEnabled" value="true"/>

   5:     </appSettings>

   6: </configuration>

Por conta destas novas opções, novos helpers foram adicionados ao HtmlHelper.

   1: public void EnableClientValidation();

   2: public void EnableClientValidation(bool enabled);

   3: public void EnableUnobtrusiveJavaScript();

   4: public void EnableUnobtrusiveJavaScript(bool enabled);

Suporte para códigos que rodam depois que a View é executada

Agora temos a possibilidade de adicionar um arquivo _viewstart.cshtml (ou _viewstart.vbhtml) no diretório e fazer com que este código seja compartilhado entre múltiplas views.

Suporte ao VBHTML

Para os programadores em VB.NET, agora o MVC 3 conta com suporte também ao VB. Anteriormente o Razor Syntax só era baseado em C#.

Mais controle sobre o atributo ValidateInputAttribute

O MVC possui integração com ASP.NET (óbvio) e sempre permitiu invocar o ValidateInputAttribute (Validador do ASP.NET). Porém, agora podemos decidir caso não queira validar a entrada (Cuidado ao fazer isto, pode haver injeção de código malicioso).

   1: [ValidateInput(false)]

   2: public ActionResult SomeAction() {

   3:     return View();

   4: }

   1: [ValidateInput(true, Exclude="Body, Summary")]

   2: public ActionResult About() {

   3:     return View();

   4: }

Hífens para nomes de atributo HTML

No HTML 5, teremos a possibilidade de ter atributos customizados (data-prefix), e pensando nisso o ASP.NET MVC trouxe um novo meio de criar controles htmls de forma customizada.

   1: Html.TextBox("Name", "Value", new {data_required = "true"})

Neste caso, o HTML ficaria assim:

   1: <input data-required="true" id="Name" name="Name" type="textbox" value="Value" />

Conclusão

Por hora é isso, apenas um overview do que foi adicionado. Nos próximos posts estarei detalhando e mostrando as novas funcionalidades na prática.

Fonte

Release notes do ASP.NET MVC 3 Beta

André Baltieri

André Baltieri - Trabalha com desenvolvimento de aplicações web a mais de 7 anos, e com ASP.NET desde 2003. É líder da comunidade Inside .NET (http://www.insidedotnet.com.br/) e do projeto Learn MVC .NET (http://learn-mvc.net/). Bacharelando em Sistemas de Informação, atualmente trabalha com desenvolvimento e suporte de aplicações web em ASP.NET/C# em projetos internacionais e ministra treinamentos e consultorias sobre a plataforma .NET.