2008-11-16 68 views
5

Tôi hiện đang xây dựng một ứng dụng bằng ASP.NET MVC. Các trang nhập dữ liệu là khá dễ dàng để mã, tôi chỉ cần thực hiện mô hình cho các trang của các loại đối tượng doanh nghiệp của tôi:Làm cách nào để tạo giao diện người dùng bảng điều khiển bằng ASP.NET MVC?

namespace MyNameSpace.Web.Views.ProjectEdit 
{ 
    public partial class MyView : ViewPage<Project> 
    { 
    } 
} 

Nơi tôi đang gặp khó khăn là tìm ra cách tốt nhất để thực hiện một bảng điều khiển như giao diện, với các phần độc lập, sử dụng ASP.NET MVC, nơi Mô hình cho mỗi phần sẽ khác nhau? Tôi là giả sử rằng mỗi phần sẽ là điều khiển người dùng MVC.

Ngoài ra, làm thế nào tôi có thể làm cho nó để mỗi phần có thể kiểm tra?

Trả lời

7

Tôi nghĩ rằng điều khiển người dùng có lẽ là cách để thực hiện. Tôi không chắc điều gì đáng lo ngại về khả năng kiểm tra. Bạn sẽ có thể kiểm tra rằng bộ điều khiển của bạn đang cung cấp dữ liệu chế độ xem phù hợp - vì bạn sẽ có một số mô hình, mỗi mô hình có thể được lưu trữ trong một mục dữ liệu chế độ xem riêng biệt, chứ không phải tổng hợp chúng trong một mô hình duy nhất. Tổng hợp trong một mô hình duy nhất cũng có thể, mặc dù có lẽ giòn hơn. Mỗi điều khiển sẽ chỉ cần kiểm tra một mục dữ liệu chế độ xem cụ thể, chứ không phải là cụ thể cho một mô hình cụ thể. Bạn có thể ước tính biến mô hình trên mỗi trang xem bằng cách thực hiện:

<% MyUserControlModel model = ViewData["MyUserControlModel"] 
     as MyUserControlModel; %> 

<div id="myUserControl_dashboard" class="dashboard"> 
    Name: <%= model.Name %><br /> 
    Count: <%$ model.Count %> 
</div> 

Nếu bạn cần kiểm tra chế độ xem, có thể bạn đã sử dụng Selenium hoặc một số khung kiểm tra web khác. Tôi không nghĩ rằng những điều này sẽ quan tâm đến cách trang được xây dựng và bạn sẽ có thể xây dựng các thử nghiệm của mình khá giống như bạn luôn làm.

+0

Vì vậy, hãy nói rằng tôi có một HomeController ... và trên xem Index tôi muốn hiển thị X điều khiển người dùng khác ... làm thế nào tôi sẽ làm điều này? – mattruma

+0

Tạo Bảng điều khiển của bạn Xem làm cho mỗi UserControls trong chế độ xem được đặt như bạn muốn. Có hành động Index của bạn thu thập các mô hình cần thiết cho từng điều khiển người dùng và lưu trữ từng mô hình trong một mục ViewData có tên thích hợp. Mỗi điều khiển chỉ cần hiển thị dữ liệu của nó. – tvanfosson

+0

(cont.) Hành động Index trả về ViewResult cho DashboardView với dữ liệu thích hợp cho từng điều khiển người dùng. – tvanfosson

2

Codeplex.com có ​​một dự án mã nguồn mở "DotNet.Highcharts". Dự án này cung cấp một điều khiển ASP.NET kết thúc tốt đẹp quanh thư viện biểu đồ Highcharts xuất sắc (miễn phí cho cá nhân). bao gồm một dự án mẫu MVC3 trong phần tải xuống.

URL: http://dotnethighcharts.codeplex.com/

Tôi đã đăng một bài viết trên CodeProject.com trong đó bao gồm một giải pháp VS2012 tải và một số mẫu mã C#. Tuy nhiên tôi sử dụng một mẫu webform trong ví dụ của tôi, không phải MVC. Phần lớn trang tổng quan được thực hiện bằng cách sử dụng thư viện JavaScript, HTML & CSS. Tôi đã bao gồm một số mẫu C# mã để giới thiệu truy xuất dữ liệu trong C# mà sau đó sáp nhập với mã JavaScript để hiển thị một trong nhiều biểu đồ bảng điều khiển.

+0

cảm ơn bạn vì điều này. Tôi có một câu hỏi. Tôi muốn biết làm thế nào bạn sẽ chuyển dữ liệu điều khiển người dùng đến r, hãy r xử lý dữ liệu và trả về kết quả cho ui để được biểu đồ bằng các biểu đồ cao. Bạn có mã mẫu để chia sẻ không? Bất kỳ ý tưởng làm thế nào tôi có thể làm điều này? – user1471980

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