2008-10-31 27 views
5

Trong ASP.NET webforms chúng tôi có các thành phần máy chủ, có thể được đóng gói vào một hội đồng bên ngoài và vận chuyển như sản phẩm. Trong ASP.NET MVC, chúng tôi không có các thành phần máy chủ, vì vậy lựa chọn tốt nhất cho các thành phần bên ngoài là gì?Làm thế nào để phát triển các thành phần "shippable" cho ASP.NET MVC?

Nhìn xung quanh nó có vẻ như là lựa chọn duy nhất có thể là thực hiện phương thức Html helper trả về một loạt các html + js điều khiển mọi thứ. Và nếu thành phần cần một số logic, một mô-đun http thêm một số tuyến mới và một bộ điều khiển được định nghĩa trong cùng một assembly bên ngoài để xử lý các cuộc gọi ajax.

Nếu không renderPartial chỉ trả lại một cái nhìn ... nhưng một cái nhìn là một tập tin thực tế, rất khó khăn để đóng gói trong một lắp ráp bên ngoài trừ khi nó được thêm vào dưới dạng tập tin tài nguyên và sau đó lấy ra sử dụng một nhà cung cấp con đường mà nhìn vào các tập tin nguồn thay vì vị trí thực trên đĩa.

Hoặc có bất kỳ tùy chọn nào khác mà tôi không cân nhắc không?

Thx Simo

+0

Bất kỳ tiến trình nào trên trang này? Để nhúng chức năng phức tạp (bao gồm cả tương tác nhận thức lịch sử) trên một trang MVC mà không liên quan đến phần còn lại của trang là một mong muốn hợp lý và phổ biến. Thay thế duy nhất tôi thấy, để yêu cầu trang sử dụng để theo dõi từng thành phần chuỗi truy vấn trạng thái, là khủng khiếp. –

+0

@ Jason: điều gì thật khủng khiếp khi sử dụng ajax và chuỗi truy vấn để cập nhật các phần của trang? – jgauffin

Trả lời

0

ASP.NET MVC hỗ trợ đầy đủ điều khiển tùy chỉnh và điều khiển người dùng ngoài việc giúp đỡ Html. Không có gì ngăn cản bạn phát triển một điều khiển tùy chỉnh (cho một mạng lưới ưa thích, giả sử), đóng gói nó trong một hội đồng, và vận chuyển nó. Tôi có thiếu điểm của câu hỏi không?

+0

Vâng, tôi nghĩ bạn đang thiếu điểm của câu hỏi. Nhiều ASP.NET điều khiển tùy chỉnh (bao gồm một số từ Microsoft) phụ thuộc hoàn toàn hoặc một phần vào ViewState của khách hàng và postbacks, không phải là trong số đó có sẵn trong ASP.NET MVC. ASP.NET điều khiển mà sử dụng không làm việc tốt trong MVC. –

1

Không có gì ngăn bạn từ việc phát triển một điều khiển tùy chỉnh (đối với một mạng lưới lạ mắt, giả sử), đóng gói nó trong một lắp ráp, và vận chuyển nó

Nhưng điều này sẽ chỉ làm việc cho các rendering đầu tiên: những gì nếu tôi muốn có lưới phân loại/phân trang-có thể/chỉnh sửa và như vậy?

2

Vì logic phía máy chủ được tách hoàn toàn khỏi logic phía máy khách nên không thực sự hữu ích khi tạo thành phần máy chủ và máy khách cho Asp.Net MVC. Bạn có thể làm tốt hơn các thành phần Html/Javascript thuần túy và có thể sử dụng được trên nhiều nền tảng (Ruby on rails, php, python, java) và với hướng dẫn cách tích hợp chúng trên một số nền tảng. Nền tảng mà bạn phát triển không phải là asp.net mvc, nhưng trình duyệt web nói chung! Nguồn cảm hứng tốt là Ext JS Framework

0

Dùng thử PortableArea từ MVCContrib. Nó có vẻ là những gì bạn đang tìm kiếm. Ngay cả khi nó không phải là, mã nguồn có thể giúp bạn đạt được mục tiêu.

Video trình diễn: http://www.viddler.com/explore/c4mvc/videos/11/

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