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é BaltieriIntroduçã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.
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