2013-01-16 12 views
5

Non sono ancora sicuro del modo migliore per farlo.ReportViewer in MVC 4 parziale

Ho letto un sacco di risorse, ma ancora non più vicino a una soluzione di lavoro.

  1. Ho creato un file ASCX parziale. Aggiunto visualizzatore di report ad esso, quindi reso detto parziale nel mio file CSHTML. Questo è stato il più vicino che sono venuto. In questo posso vedere il visualizzatore di report, i pulsanti, ecc. Ma per qualche motivo i dati non vengono mai visualizzati.

  2. Ho provato la pagina ASPX in un IFrame Ma questo non è il modo in cui voglio andare, per far funzionare questa soluzione.

  3. Caricamento in corso di una pagina ASPX. Ma perdo lo stile della pagina principale _Layout.cshtml.

Alcuni suggeriscono che cambia ogni sorta di cose in config/Global.asax dove come alcuni dicono la sua non è nemmeno necessario.

Idealmente voglio averlo come parziale in una pagina. Ma posso occuparmene essendo l'unica cosa sulla pagina, se tengo il mio layout principale.

La mia esperienza con la sintassi/pagine/non MVC meno recenti è limitata a questo progetto, cercando di farlo funzionare.

I miei dati sono collegati tramite l'installazione dei componenti. La connessione funziona bene nella pagina aspx, come singola pagina o iframe. Ma non in ascx.

+0

Come stai caricando i dati nel tuo parziale? (Tentativo # 1) –

+0

@dennisrongo ha provato tanti modi. la maggior parte ruota attorno alla creazione di un set di dati e al binding – Doomsknight

risposta

8

Il controllo ReportView richiede che ViewState sia abilitato. In ASP.NET MVC tale nozione non esiste più. Ciò significa che non è possibile utilizzare questo controllo all'interno di una visualizzazione MVC ASP.NET nativa o parziale. È possibile utilizzarlo solo in un classico WebForm (non in una vista MVC ASP.NET) e incorporare questo WebForm all'interno di un iframe all'interno della visualizzazione MVC ASP.NET corrente o parziale. Ad esempio, è possibile eseguire il rendering del report come immagine e inviarlo direttamente alla risposta senza utilizzare questo controllo. Ecco uno blog post che illustra la tecnica. Pertanto, è possibile avere un'azione del controllore che genera il report come immagine JPEG e quindi collegarlo a questa azione del controller dalla vista utilizzando il tag <img>. Sfortunatamente ciò rende solo una copia statica del report e l'utente non può interagire con esso.

È inoltre possibile effettuare il checkout this blog post che illustra come è possibile eseguire ASP.NET MVC e WebForms classici parallelamente.

+0

ciao voglio fare una domanda, esamino quel post del blog e non risolvo la soluzione del mio problema. Quando clicco sul pulsante di ricerca sto filtrando e visualizzando i dati sulla pagina mvc.Dopo che quando l'utente preme reportbutton voglio indirizzare la mia ricerca dto alla pagina aspx come posso farlo senza usare la sessione? – altandogan

+0

@Darin, è possibile utilizzare il controllo ReportView se si utilizza LocalReport e si associa il lato del server di dati in modo che ".., non è possibile utilizzare questo controllo all'interno di una visualizzazione MVC ASP.NET nativa ..." non è completamente vero. – David