@Html.raw Là Gì

HANOI-megaelearning.vnGiới thiệuCơ sở vật chấtGiảng viênHỏi đápCHƯƠNG TRÌNH ĐÀO TẠOLẬP TRÌNH VIÊN QUỐC TẾLẬP TRÌNH WEB VỚI PHPCÁC KHÓA HỌC NGẮN HẠNQuản Trị MạngLập Trình ASP.NETLập Trình PHPLập Trình C#Lập Trình JavaTIN TỨCTIN TỨC VỀ CNTTLịch thiLịch tuyển sinhThông tin học bổngTUYỂN DỤNGTIN TUYỂN DỤNGGóc nghề nghiệp
*
HANOI-megaelearning. vnGiới thiệuCơ sở vật chấtGiảng viênHỏi đápCHƯƠNG TRÌNH ĐÀO TẠOLẬP TRÌNH VIÊN QUỐC TẾLẬP TRÌNH WEB VỚI PHPCÁC KHÓA HỌC NGẮN HẠNQuản Trị MạngLập Trình ASP.NETLập Trình PHPLập Trình C # Lập Trình JavaTIN TỨCTIN TỨC VỀ CNTTLịch thiLịch tuyển sinhThông tin học bổngTUYỂN DỤNGTIN TUYỂN DỤNGGóc nghề nghiệp

ASP.Net MVC 3 là một phiên bản khá hấp dẫn, có thêm nhiều tính năng và cải tiến mới rất tuyệt vời, giúp đơn giản hóa mã (code) của bạn. ASP.Net MVC 3 cũng tương thích ngược với ASP.Net MVC 1 và ASP.Net MVC 2, khiến việc nâng cấp các ứng dụng hiện có rất dễ dàng. Bài viết này sẽ trình bày về những tính năng mới như: Razor, multi view engine, những cài tiến trong: controller, JavaScript và Ajax, Model Validation, Dependency Injection, và các tính năng mới khác.

Bạn đang xem: @html.raw là gì

1. Công cụ xem Razor (The Razor View Engine)

Bạn đang đọc: @Html.raw Là Gì

– ASP.net MVC 3 đi kèm với một công cụ xem mới có tên là Razor với những quyền lợi sau :Cú pháp Razor là sạch sẽ và xúc tích, đòi hỏi một số lượng tối thiểu các tổ hợp phím.Việc tìm hiểu Razor tương đối dễ dàng vì nó dựa trên ngôn ngữ C# và Visual Basic.Visual Studio bao gồm IntelliSense và mã cú pháp Razor được màu hóa.Razor views có thể kiểm tra từng đơn vị mà không đòi hỏi bạn phải chạy các ứng dụng hoặc phải chạy web server.Cú pháp Razor là thật sạch và súc tích, yên cầu một số lượng tối thiểu những tổng hợp phím. Việc tìm hiểu và khám phá Razor tương đối thuận tiện vì nó dựa trên ngôn từ C # và Visual Basic. Visual Studio gồm có IntelliSense và mã cú pháp Razor được màu hóa. Razor views hoàn toàn có thể kiểm tra từng đơn vị chức năng mà không yên cầu bạn phải chạy những ứng dụng hoặc phải chạy web server .– Một số tính năng mới của Razor :Cú pháp
model để xác định các loại sẽ được truyền vào view.
**
là cú pháp comment.Khả năng định rõ mặc định (như layoutpage) một lần cho toàn bộ trang web.Phương thức Html.Raw để hiển thị các văn bản mà không cần mã hóa Html cho nó.Hỗ trợ chia sẽ mã giữa nhiều views (_viewstart.cshtml hay _viewstart.vbhtml).Cú phápmodel để xác lập những loại sẽ được truyền vào view. * * là cú pháp comment. Khả năng định rõ mặc định ( như layoutpage ) một lần cho hàng loạt website. Phương thức Html. Raw để hiển thị những văn bản mà không cần mã hóa Html cho nó. Hỗ trợ chia sẽ mã giữa nhiều views ( _viewstart. cshtml hay _viewstart. vbhtml ) .– Razor cũng gồm có những công cụ tương hỗ HTML mới, ví dụ điển hình như :Chart – biểu diễn một biểu đồ, cung cấp các tính năng như control chart trong ÁP.NET 4.WebGrid – biểu diễn một lưới dữ liệu (data grid), hoàn chỉnh với chức năng phần trang và phân loại.Crypto – Sử dụng các thuật toán băm (hashing algorithms) để tạo thuộc tính thông thạo và băm các mật khẩu.WebImage – biểu diễn một hình ảnh.WebMail – gởi tin nhắn email.Chart – màn biểu diễn một biểu đồ, phân phối những tính năng như control chart trong ÁP.NET 4. WebGrid – trình diễn một lưới tài liệu ( data grid ), hoàn hảo với tính năng phần trang và phân loại. Crypto – Sử dụng những thuật toán băm ( hashing algorithms ) để tạo thuộc tính thông thuộc và băm những mật khẩu. WebImage – trình diễn một hình ảnh. WebMail – gởi tin nhắn email .

2. Hỗ trợ đa View Engines (Support for Multiple View Engines)

– Thêm hộp thoại View trong ASP.NET MVC 3 được cho phép bạn chọn những view engine mà bạn muốn thao tác với nó, và hộp thoại New Project được cho phép bạn xác lập view engine mặc định cho một project. Bạn hoàn toàn có thể chọn view engine Web Forms ( ASPX ), Razor, hay một view engine nguồn mở như Spark, NHaml, hay NDjango .

3. Những cải tiến Controller

3.1 Global Action FiltersĐôi khi bạn muốn triển khai một logic hoặc trước khi một phương pháp thực thi hoặc sau một một phương pháp hành vi được triển khai. Để tương hỗ điều này, ASP.NET MVC 2 đã phân phối bộ lọc hành vi ( Action Filters ). Action Filter là những thuộc tính tùy chỉnh phân phối khai báo một phương tiện đi lại để thêm trước hành vi và sau hành vi một hành vi để xác lập phương pháp controller hành vi đơn cử. MVC 3 được cho phép bnaj chỉ định những bộ lọc chung bằng cách thêm chúng vào bộ sưu tập GlobalFilters. Để biết thêm thông tin hoàn toàn có thể tìm hiểu thêm ở những nguồn dưới đây :3.2 Thuộc tính mới “ ViewBag ”MVC 2 tương hỗ điều điều khiển và tinh chỉnh một thuộc tính ViewData để cho phép bạn chuyển tài liệu đến một view template bằng cách sử dụng một API. Trong MVC 3, bạn hoàn toàn có thể sử dụng cú pháp đơn thuần hơn một chút ít với thuộc tính ViewBag để thwucj hiện cùng một mục tiêu trên. Ví dụ, thay vì viết ViewData = “ text ”, bạn hoàn toàn có thể viết ViewBag. Message = “ text ”. Bạn không cần phải xác lập lớp mạnh bất kể để sử dụng thuộc tính ViewBag. Bởi vì nó là một thuộc tính năng động ( dynamic property ), bạn hoàn toàn có thể thay vì chỉ nhận hay thiết lập những thuộc tính và nó sẽ xử lý những ván đề còn lại tự động hóa khi chạy. Bên trong thuộc tính ViewBag được tàng trữ như cặp name / value trong từ điển ViewData. ( Lưu ý : trong hầu hết những phiên bản trước của MVC3, thuộc tính ViewBag có tên là ViewModel ) .3.3 Các kiểu “ ActionResult ” mớiDưới đây là những kiểu ActionResult và chiêu thức trợ giúp mới và nâng cao trong MVC 3 :

4. JavaScript và Ajax

Theo mặc định, Ajax và những công cụ tương hỗ hợp lệ trong MVC 3 sử dụng một cách tiếp cận unobtrusive JavaScript. Unobtrusive JavaScript nội tuyến tránh tiêm tín hiệu từ JavaScript vào HTML. Điều này làm cho HTML của bạn nhỏ hơn và ít lộn xộn hơn, và làm cho nó quy đổi ra ngoài thuận tiện hơn hay tùy chỉnh những thư viện JavaScript. Validation helpers trong MVC 3 cũng sử dụng plugin jQueryValidate theo mặc định. Nếu bạn muốn MVC 2 thực thi, bạn hoàn toàn có thể vô hiệu hóa unobtrusive JavaScript bawgnf cách thiết lập lại file web.config. Để biết thêm thông tin về Ajax và JavaScript tìm hiểu thêm những nguồn sau :4.1 Client-Side Validation Enabled by Default– Trong những phiên bản trước đó của MVC, bạn cần phải gọi rõ phương pháp Html. EnableClientValidation từ một view để cho phép phía máy khác xác nhận. Điều này trong MVC 3 là không thiết yếu vì phía người mua xác nhận là kích hoạt mặc định. ( Bạn hoàn toàn có thể vô hiệu điều này bằng cách sử dụng một thiết lập trong file web.config ) .– Để cho phía máy khách xác nhận để thao tác, bạn vẫn cần phải tìm hiểu thêm thích hợp thư viện jQuery và jQuery Validation trong website của bạn. Bạn hoàn toàn có thể tàng trữ những thư viện trên sever của chính bạn hoặc tham chiếu cho chúng từ một mạng lưới phân bổ nội dung ( CDN – Content Delivery Network ) như CDNs từ Microsoft hay Google .4.2 Remote Validator– ASP.NET MVC 3 tương hỗ lớp RemoteAttribute được cho phép bạn tận dụng lợi thể của plugin jQuery Validation để tương hỗ xác nhận từ xa. Điều này được cho phép những bên những nhận thư viện client-side validation để tự động hóa gọi một phương pháp tùy chỉnh mà bạn xác lập trên sever để triển khai xác nhận logic chỉ hoàn toàn có thể được xác nhận phía sever .– Trong ví dụ sau đây, thuộc tính Remote xác lập rừng xác nhận máy khác sẽ gọi một hành vi tên là UserNameAvailable trên lớp UsersController để xác định trường UserName .public class User { public string UserName { get ; set ; } } – Ví dụ sau đây minh họa những điều khiển và tinh chỉnh tương ứng :public class UsersController { public bool UserNameAvailable ( string username ) { if ( MyRepository. UserNameExists ( username ) ) { return ” false ” ; } return ” true ” ; } } – Để biết thêm về cách sử dụng những thuộc tính Remote, xem bài How to : Implement Remote Validation in ASP.NET MVC trong MSDN .4.3 JSON Binding Support

ASP.NET MVC 3 bao gồm ràng buộc hỗ trợ JSON cho phép các phương thức hành động để nhận được dữ liệu JSON-encoded và model-bind tham số phương thức hành động của nó. Khả năng này rất hữu ích trong các tình huống liên quan đên client template và data binding. MVC 3 cho phép bạn dễ dàng kết nối client template với các phương thức hành độngtrên máy chủ khi gởi và nhận nhận dữ liệu JSON. Để biết thêm thông tin về JSON binding support, tham khảo Scott Guthrie’s MVC 3 Preview .

Xem thêm: Các Mức Độ Đo Lường Là Gì ? Khái Niệm Cơ Bản Về Đo Lường

Xem thêm: Sinh năm 2010 mệnh gì, con gì, hợp hướng nào, hợp màu gì?

5. Model Validation Imporvements5.1 Thuộc tính siêu dữ liệu “ DataAnnotations ”ASP.NET MVC 3 tương hỗ những thuộc tính siêu dữ liệu DataAnnotations như DisplayAttribute .5.2 Lớp “ ValidationAttribue ”Lớp ValidationAttribute đã được nâng cấp cải tiến trong. NET Framerwork 4 để tương hỗ một quá tải mới là IsValid phân phối thêm thông tin về toàn cảnh xác nhận hiện tại, ví dụ điển hình như những gì đối tượng người tiêu dùng đang được xác nhận. Điều này được cho phép những ngữ cảnh đa dạng và phong phú hơn, nơ bạn hoàn toàn có thể xác nhận giá trị hiện tại dựa trên những thuộc tính khác của Mã Sản Phẩm. Ví dụ, thuộc tính mới CompareAttribute được cho phép bạn so sánh những giá trị của 2 thuộc tính của một Mã Sản Phẩm. Trong ví dụ dưới đây, thuộc tính ComparePassword phải tương thích với trường Password để được hợp lệ :public class User { public string Password { get ; set ; } public string ComparePassword { get ; set ; } } 5.3 Validation Interfaces– Giao diện IValidatableObject được cho phép bạn triển khai những cấp Model xác nhận, và nó được cho phép bạn phân phối những thông điệp xác nhận lỗi đơn cử so với những trạng thái của Mã Sản Phẩm tổng thể và toàn diện, hay giữ 2 thuộc tính trong Mã Sản Phẩm. MVC 3 giờ đây lấy lỗi từ giao diện IValidatableObject khi ràng buộc quy mô, và từ động gắn cờ hay tô sáng những trường bị tác động ảnh hưởng trong phậm vi view bằng cách sử dụng công cụ tương hỗ hình thức HTML .– Giao diện IClientValidatable được cho phép ASP.NET MVC mày mò trong thời hạn chạy dù validator đã tương hỗ cho việc xác nhận ở client. Giao diện này được phong cách thiết kế để hoàn toàn có thể tích hợp với hàng loạt những validation frameworks .

6. Dependency Injection Imporvements

– ASP.NET MVC 3 cung ứng tương hỗ tốt hơn cho việc vận dụng Dependency Injection ( DI ) và tích hợp với Dependency Injection hay Inversion of Control ( IOC ) containers. Các tương hỗ cho DI được thêm vào :Controllers (registering and injecting controller factories, injecting controllers).Views (registering and injecting view engines, injecting dependencies into view pages).Action filters (locating and injecting filters).Model binders (registering and injecting).Model validation providers (registering and injecting).Model metadata providers (registering and injecting).Value providers (registering and injecting).Controllers ( registering and injecting controller factories, injecting controllers ). Views ( registering and injecting view engines, injecting dependencies into view pages ). Action filters ( locating and injecting filters ). Model binders ( registering and injecting ). Model validation providers ( registering and injecting ). Model metadata providers ( registering and injecting ). Value providers ( registering and injecting ) .– MVC 3 tương hỗ những thư viện Common Service Locator và bất kỳ DI container nào có tương hỗ của thư viện IServiceLocator. Nó cũng tương hỗ giao diện mới IDpendencyResolver làm cho nó thuận tiện hơn để tích hợp với DI frameworks .

7. Các tính năng mới khác (Other New Features)

7.1 NuGet Integration– ASP.NET MVC 3 tự động hóa setup và được cho phép Nuget như một phần setup của nó. NuGet là một gói quản trị nguồn mở không lấy phí mà hoàn toàn có thể thuận tiện tìm tâấy nó, thiết lập và sử dụng thư viện. NET và những công cụ trong những project của bạn. Nó hoạt động giải trí với toàn bộ những loại project của Visual Studio ( gồm có ASP.NET Web Forms và ASP.NET MVC ) .– NuGet được cho phép những nhà tăng trưởng để duy trì những dự án Bất Động Sản mã nguồn mở ( ví dụ : những dự án Bất Động Sản như Moq, NHibernate, Ninject, StructureMap, NUnit, Windsor, RhinoMocks, và Elmah ) để đóng gói thư viện của mình và ĐK chúng trong một bộ sưu tập trực tuyến .7.2 Partial-Page Output CachingASP.NET MVC được tương hỗ bộ nhớ đệm output của trang vấn đáp vừa đủ kể từ phiên bản 1. MVC 3 cũng tương hỗ những trang xuất caching một phần, được cho phép bạn thuận tiện đến những vùng nhớ đệm hoặc những mảnh của một response .7.3 Kiểm soát và nhu yếu xác nhận ( Granular Control over Request Valiedation )ASP.NET MVC đã được thiết kế xây dựng trong quy trình xác nhận nhu yếu tự động hóa giúp bảo vệ chống lại những cuộc tiến công XSS và HTML injection. Tuy nhiên, đôi khi bạn muốn vô hiệu nhu yếu xác nhận rõ ràng, ví dụ điển hình như nếu bạn muốn được cho phép một người post nội dung HTML ( Ví dụ, trong ác mục blog hoặc nội dung CMS ). Bạn hoàn toàn có thể thêm một thuộc tính AllowHtml cho những Mã Sản Phẩm hay view models để vô hiệu những nhu yếu xác nhận trên mỗi một thuộc tính cơ bản trong quy mô link .7.4 Mở rộng hộp thoại “ New Project ”Trong ASP.NET MVC 3, bạn hoàn toàn có thể thêm những project mẫu, view engines, và unit test project frameworks cho hộp thoại New project .7.5 Scaffolding ImprovementsASP.net MVC 3 những mẫu scaffolding làm một việc làm tốt hơn của việc xác lập những thuộc tính khóa chính trên những quy mô và giải quyết và xử lý chúng một cách thích hợp hơn trong những phiên bản trước của MVC .

Theo mặc định, Tạo và Sửa scaffolds bây giờ sử dụng Html.EditorFor helper thay vì Html.TextBoxFor helper. Điều này cải thiện hỗ trợ cho các siêu dữ liệu trên mô hình ở dạng chú thích thuộc tính dữ liệu khi hộp thoại Add View tạo ra một view.

Xem thêm: Tên Gọi Các Bác Sĩ Nội Khoa Tiếng Anh Là Gì, Thuật Ngữ Cơ Bản Tiếng Anh Chuyên Ngành Y

7.6 Các quá tải mới cho “ Html. LabelFor ” ” và “ Html. LabelForModel ”

Các phương pháp quá tải mới có thêm phương thức LabelFor và LabelForModel. Các quá tải mới cho phép bạn xác định hay ghi đè lên label text.

7.7 Sessioinless Controller Support7.8 Lớp mới “ AdditionalMetadataAttribute ”– Bạn hoàn toàn có thể sử dụng thuộc tính AdditionalMetadata để đưa vào từ điển ModelMetadata. AdditionalValues cho một thuộc tính Model. Ví dụ, nếu view Mã Sản Phẩm có một thuộc tính sẽ được hiển thị chỉ cho một admin, bạn hoàn toàn có thể triển khai giống như trong ví dụ dưới đây :

Rate this post
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments