如何使用ASP.NET MVC创建仪表板用户界面?

mat*_*uma 5 asp.net-mvc user-interface dashboard web-parts

我目前正在使用ASP.NET MVC构建应用程序.数据输入页面相当容易编码,我只是为我的业务对象类型的页面制作模型:

namespace MyNameSpace.Web.Views.ProjectEdit
{
    public partial class MyView : ViewPage<Project>
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在努力寻找实现仪表板界面的最佳方法,使用独立的部件,使用ASP.NET MVC,其中每个部分的模型会有所不同?我假设每个部分都是MVC用户控件.

另外,我怎么能这样做,所以每个部分都是可测试的?

tva*_*son 7

我认为用户控件可能就是这样.我不确定关于可测试性的问题.您应该能够测试您的控制器是否提供了正确的视图数据 - 因为您将拥有多个模型,每个模型可能存储在单独的视图数据项中,而不是在单个模型中聚合它们.虽然可能更脆弱,但在单一模型中聚合也是可能的.每个控件只需要检查特定的视图数据项,而不是特定于特定模型.您可以通过以下操作来近似每个视图页面上的模型变量:

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

<div id="myUserControl_dashboard" class="dashboard">
   Name: <%= model.Name %><br />
   Count: <%$ model.Count %>
</div>
Run Code Online (Sandbox Code Playgroud)

如果您需要测试您的视图,那么您可能已经在使用Selenium或其他一些Web测试框架.我不认为这些会关心页面是如何构建的,你应该能够像往常一样构建你的测试.