Cấp bậc tác giả:

DOTNET

Các tính năng mới của ASP.NET 4.5

Được viết bởi webmaster ngày 23/04/2013 lúc 12:02 PM
Ai lập trình web ASP.NET cần phải hiểu Visual Studio, NuGet, ASP.NET và Windows Azure để có thể phát triển dịch vụ điện toán đám mây. Visual Studio 2012 có một số cải tiến hiện đại cho việc phát triển web. Bài viết này chỉ ra vài cải tiến HTML5 và CSS3 trong trình soạn thảo Visual Studio, Trang Inspector và các tính năng mới trong ASP.NET 4.5.
  • 0
  • 10714

Các tính năng mới của ASP.NET 4.5

Ai lập trình web ASP.NET cần phải hiểu Visual Studio, NuGet, ASP.NET và Windows Azure để có thể phát triển dịch vụ điện toán đám mây. Visual Studio 2012 có một số cải tiến hiện đại cho việc phát triển web. Bài viết này chỉ ra vài cải tiến HTML5 và CSS3 trong trình soạn thảo Visual Studio, Trang Inspector và các tính năng mới trong ASP.NET 4.5. Sử dụng Visual Studio 2012 bây giờ bạn có thể viết HTML, JavaScript, CSS và Razor, C# và ứng dụng VB. Nếu bạn quan tâm muốn biết những thứ mới trong WebForms 4,5 thì bạn có thể đọc bài viết.

Bài viết này cho thấy công cụ và framework cần thiết cho việc phát triển ASP.NET Web: 

ASP.NET1.jpg

NuGet là một quản lý gói phần mềm, đó là làm thế nào bạn mang lại phụ thuộc đến dự án của bạn. Đây là điều cơ bản mà phát triển web ASP.NET nên biết và sử dụng. Framework ASP.NET 4.5: 

ASP.NET2.jpg

Sử dụng framework này, bạn sẽ có thể tạo ra các trang web và các dịch vụ web. Bạn có các hình thức web để phát triển dựa trên control hoặc dựa trên sự kiện. Các trang web cho các trang phong cách PHP rất sáng bằng cách sử dụng cú pháp Razor. Bạn cũng có được MVC và Web API. SignalR mà bạn có thể sử dụng để giao tiếp thời gian thực. Sử dụng framework này, bạn có thể phát triển HTML5, dịch vụ HTTP, các ứng dụng văn phòng, ứng dụng di động và các ứng dụng thời gian thực sử dụng web sockets. 

Model Binding với ASP.NET Web Forms 

Sử dụng điều khiển dữ liệu mạnh mẽ, bạn có thể thiết lập itemtype cho điều khiển dữ liệu trên trang và sau đó trong trang, bạn sẽ có được intellisence và kiểu checking. 

Ví dụ sau đây cho thấy thiết lập các loại mặt hàng cho một data control

<ul>
    <asp:Repeater ID="productRepeater" runat="server" 
          ItemType="WebApplication3.Models.Product">
   </asp:Repeater>
</ul>

Ví dụ cho thấy đề cập đến các thuộc tính bằng cách sử dụng item

<ul>
<asp:Repeater ID="productRepeater" runat="server" 
   ItemType="WebApplication3.Models.Product">
 <ItemTemplate>
    <li>
      <a href="ProductDetails.aspx?Id= <%#: Item.ProductID%>">
       <%#: Item.ProductModel %> <%#: Item.ProductCategory %>     
       </a> 
     </li>
   </ItemTemplate>
</asp:Repeater>
</ul>

Ví dụ sau đây cho thấy ràng buộc model nhận được 

<asp:Repeater ID="productRepeater" runat="server" 
  ItemType="WebApplication3.Models.Product"
  SelectMethod="productRepeater_GetData">
</asp:Repeater>

Phương thức Select:

ASP.NET3_01.jpg

Repeater control  về phương thức select của bạn và nó sẽ trả về một IQueryable. Đó là cách đơn giản để ràng buộc các dữ liệu điều khiển đặc biệt là khi bạn có một mô hình kho chứa phương thức Create, Update và Delete. 

WebForms: thân thiện URL 

ASP.NET3_02.jpg

URL thân thiện trong WebForms sử dụng giống hệ thống định tuyến trong MVC và cũng sử dụng điều khiển ràng buộc. 

Bundling và Tối ưu hóa 

Trang web có tài liệu tham khảo bên ngoài như CSS, JavaScript và hình ảnh Bundling kết hợp các yêu cầu CSS và JavaScript, ví dụ nếu bạn có 5 file CSS thì nó sẽ đóng gói lại thành một file CSS. Giảm tính chất là quá trình nén các tập tin đi kèm. 

Nó loại bỏ các white-space  và thay đổi các giá trị các biến của bạn và nó cũng loại bỏ các comment. Quy ước, nếu bạn có một tập tin foo.js thì sau khi giảm tính chất các tập tin có tên foo.min.js. Bạn sẽ thấy các tập tin trong BundleConfig.cs bên trong thư mục App_Start. Phương thức EnableDefaultBundles sẽ đóng gói tất cả các file và thư mục như kịch bản js. Bạn có thể có thêm kiểu tĩnh:

bundles.Add(new ScriptBundle("~/bundles/WebFormsJs").
Include(
"~/Scripts/WebForms/WebForms.js",
"~/Scripts/WebForms/TreeView.js",
"~/Scripts/WebForms/WebParts.js"));

Cũng có thể làm động bằng cách thêm tên thư mục của riêng bạn không được hiển thị trong vị trí địa lý của bạn bằng cách thêm tất cả các tập tin cần thiết từ các thư mục như 

bundles.Add(new ScriptBundle("~/Scripts/Virtual", "*.js").IncludeDirectory("~/Scripts/bundle", "*.js"));

Thư mục ảo không thực sự tồn tại. Bạn cũng có thể làm động bằng cách sử CoffeeScriptCompiler và IBundleTransform và bạn cần phải ghi đè lên các phương thức xử lý như sau:

bundles.Add(new DynamicFolderBundle("coffee", "*.coffee", new CoffeMinify())); 

CoffeMinify là lớp tùy chỉnh không được giảm tính chất cho các tập tin JavaScript sử dụng CoffeeScriptCompiler; 

using System.Web.Optimization;
using SassAndCoffee.Core;
using SassAndCoffee.JavaScript.CoffeeScript;
public class CoffeMinify : JsMinify
{
    public CoffeMinify() { }
    public override void Process(BundleContext context, BundleResponse response)
    {
        response.Content = new CoffeeScriptCompiler().Compile(response.Content);
        base.Process(context, response);
     }
}

Page Inspector

Page Inspector làm việc với các trang web, các web form và MVC. Bạn có thể sử dụng Page Inspector bằng cách kích chuột vào trang aspx hoặc thông qua trình đơn trình duyệt:

ASP.NET3_03.jpg

ASP.NET3_04.jpg

Nó mở ra một trình duyệt tích hợp bên trong Visual Studio, trên góc dưới bên trái, bạn sẽ lấy soạn thảo mã nguồn live DOM. Khi bạn di chuột trên element thì nó cho bạn thấy element  mà bạn đang kiểm tra, nếu bạn muốn xem điều gì đã khiến element nhấp vào Inspect như sau đây:

ASP.NET3_05.jpg

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML