2012-03-14 46 views
16

Gần đây tôi đã tham gia vào MVC3 và Razor, và đọc một số bài viết về các chủ đề này để hiểu rõ hơn về khái niệm.So sánh cú pháp Razor vs ASPX

Tôi đã đọc Scott Guthrie's Blog Post, trong đó ông cung cấp 2 ví dụ sau. Các bị đầu tiên ASPX cú pháp, cú pháp phúc Razor thứ hai:

enter image description here

enter image description here

này là rất tốt, nhưng khi so sánh công bằng của ASPX và Razor Tôi là một chút bối rối.

Tôi chưa bao giờ thấy bất kỳ ví dụ hoạt động nào về cú pháp ASPX như thế. Chắc chắn các nhà phát triển đã sử dụng các điều khiển Repeater vv kể từ khi ASP.NET được phát hành? Tôi đã không nhìn thấy cú pháp như thế kể từ ASP cổ điển.

Tôi luôn nghĩ rằng thực tiễn không tốt là đặt mã chương trình nội tuyến bằng tệp đánh dấu, thay vì mã phía sau tệp.

Làm bất kỳ nhà phát triển ASP.NET ASPX nào có mã như thế này không?

Trả lời

11

Tôi nghĩ bạn chắc chắn đang bối rối. Ví dụ đầu tiên của bạn không phải là asp.net truyền thống. Đó là những gì các công cụ render MVC được sử dụng để sử dụng trước dao cạo (MVC 1 & MVC 2 - mà tôi tin rằng được gọi là công cụ xem WebForms).

Tôi rất chắc chắn bạn không thể sử dụng foreach trong các trang ASP.Net truyền thống. (bình luận của Veli đã sửa cho tôi về điều này)

Với MVC 3 bạn có thể chọn sử dụng công cụ xem Dao cạo như bạn có thể thấy trong ví dụ này dễ đọc hơn nhiều. Tất nhiên, với MVC 3 bạn vẫn có thể chọn để làm điều đó theo cách khác, đây là một tùy chọn bạn chọn khi tạo dự án ban đầu.

You can read more about the differences here

+0

Chúc mừng, tôi đã không xem xét rằng đây chỉ là một so sánh MVC. Tôi đã giả định nó đã cho thấy sự khác biệt giữa các biểu mẫu web aspx và mvc dao cạo! – Curt

+5

Yup, mặc dù bạn _can_ sử dụng foreach và ở trên sẽ chỉ hiển thị tốt trong một trang "truyền thống" asp.net, nó không thực sự thực sự tốt. –

6

Làm bất cứ ASP.NET ASPX nhà phát triển mã như thế này?

Tôi nghi ngờ điều đó. Các nhà phát triển WebForms cổ điển sử dụng các điều khiển phía máy chủ như bộ lặp.

Các nhà phát triển MVC ASP.NET sử dụng cú pháp này rất nhiều. Vâng, thực sự bạn có thể sử dụng các mẫu hiển thị trong ASP.NET MVC mà tránh bạn viết các vòng foreach xấu xí.

+1

Chúc mừng tôi đã bắt đầu nghĩ rằng cú pháp nội tuyến như thế này là phổ biến cho các biểu mẫu web. Tôi đã không tính đến MVC1/MVC2 – Curt

0

Tôi luôn nghĩ rằng thực tiễn không tốt là đặt mã chương trình nội tuyến bằng tệp đánh dấu, thay vì mã phía sau tệp.

Điều đó đúng với nhà phát triển C# WinForm/WPF sử dụng kiến ​​trúc MVVM. Nhưng, tôi nghĩ rằng vẫn còn thực hành tốt để đặt mã chương trình nội tuyến trong ASP.NET MVC.

-1

Đừng nhầm lẫn giữa mã chương trình và mã để hiển thị thuộc tính. Thực hành không tốt là đặt mã lập trình vào tệp đánh dấu. Tuy nhiên mã bạn đang hiển thị là mã được sử dụng để tạo đánh dấu.

MVC phải được coi là khung MVC bình thường và tất cả mã logic phải nằm trong Bộ điều khiển.

Các vấn đề liên quan