Domanda

Attualmente sto creando un'applicazione utilizzando ASP.NET MVC. Le pagine di immissione dei dati sono abbastanza facili da codificare, faccio solo il Modello per la pagina del tipo del mio oggetto business:

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

Dove sto lottando è capire il modo migliore per implementare una dashboard come interfaccia, con parti autonome, usando ASP.NET MVC, dove il Modello per ogni parte sarebbe diverso? Sto assumendo che ogni parte sarebbe un controllo utente MVC.

Inoltre, come potrei farlo in modo che ogni parte sia testabile?

È stato utile?

Soluzione

Penso che i controlli utente siano probabilmente la strada da percorrere. Non sono sicuro di quale sia la preoccupazione circa la testabilità. Dovresti essere in grado di verificare che il tuo controller stia fornendo i dati di visualizzazione corretti, dal momento che avrai diversi modelli, ognuno di questi sarà probabilmente memorizzato in un elemento di dati di visualizzazione separato, anziché aggregarli in un singolo modello. È anche possibile aggregare in un singolo modello, sebbene probabilmente più fragile. Ogni controllo dovrebbe solo verificare la presenza di un particolare elemento di dati della vista, piuttosto che essere specifico per un particolare modello. È possibile approssimare la variabile del modello su ciascuna pagina di visualizzazione facendo:

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

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

Se devi testare la tua vista, probabilmente stai già utilizzando Selenium o qualche altro framework di test web. Non credo che a questi importerebbe come è stata costruita la pagina e dovresti essere in grado di costruire i tuoi test praticamente come fai sempre.

Altri suggerimenti

Scopri la nozione di sub-controller in MVC-Contrib http://www.codeplex.com/MVCContrib . Fondamentalmente esegui una richiesta completa su un parziale, quindi visualizzi quel parziale dove desideri nel tuo codice esistente.

In alternativa puoi dare un'occhiata a questo post: http://blog.codeville.net/2008/10/14/partial-requests-in-aspnet-mvc/

Codeplex.com ha un progetto open source "DotNet.Highcharts". Questo progetto fornisce un controllo ASP.NET che avvolge l'eccellente libreria di grafici Highcharts (gratuita per uso personale). che include un progetto MVC3 di esempio nella sezione download.

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

Ho pubblicato un articolo su CodeProject.com che include una soluzione VS2012 scaricabile e alcuni esempi di codice C #. Tuttavia, nel mio esempio utilizzo un modello di modulo web, non MVC. La maggior parte della dashboard viene eseguita utilizzando librerie JavaScript, HTML e amp; CSS. Ho incluso alcuni esempi di codice C # per il recupero dei dati dimostrativi in ??C # che poi sono stati uniti al codice JavaScript per eseguire il rendering di uno dei tanti grafici del dashboard.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top