IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

Rendu de vue � partir d'une web api et d'une chaine razor stock�e en ressource


Sujet :

ASP.NET MVC

  1. #1
    Membre �clair� Avatar de Nadinette
    Femme Profil pro
    D�veloppeur Web
    Inscrit en
    Octobre 2012
    Messages
    264
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 264
    Par d�faut Rendu de vue � partir d'une web api et d'une chaine razor stock�e en ressource
    Kikou

    On vient de me demander un fantastique super boulot qui est de migrer un framework de d�veloppement fonctionnel d�velopp� � l'aide de vielles technos comme les DHTML Behaviors en ASP.net MVC 4.5

    Ce syst�me est dot� d'une sorte de biblioth�ques d'add-id qui ont la capacit� de g�n�rer des vues c�t� client � l'aide de l'ancien Framework Atlas de Microsoft.

    Pour y parvenir, j'ai envie de cr�er des WebAPI qui vont peu � peu remplacer ces addins.

    J'ai trouv� l'article suivant : http://www.codemag.com/Article/1312081

    Dans le listing 4 on voit qu'il est possible de faire un rendu d'une vue � partir d'une WebAPI.

    Etant donn� que j'aimerais que mes WebApi soient "enfichables" (� moins que vous me donniez une meilleure id�e) j'aimerais stocker le contenu du Razor sous forme de ressource. Ensuite, j'aimerais pouvoir recr�er la vue en m�moire � la vol�e � partir de cette chaine de caract�res pour qu'elle puisse �tre utilis�e comme param�tre.

    Je ne suis pas certaine mais j'ai trouv� la classe ViewRenderer ici :

    https://github.com/RickStrahl/Westwi...iewRenderer.cs

    Le souchi c'est qu'il faut mettre la vue Razor dans le site web et pas en ressource.

    Quelqu'un pourrait-il me dire s'il est possible de stocker un cshtml en resource ?

    D'avance merci

    Nadinette

  2. #2
    Expert confirm�
    Avatar de Immobilis
    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par d�faut
    Salut,

    Je ne suis pas expert de la chose mais � ta place j'essaierai d'impl�menter un ViewEngine personnalis�: http://www.dotnetcurry.com/showarticle.aspx?ID=946

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre confirm� Avatar de L�onard Labat
    Homme Profil pro
    Consultant .NET
    Inscrit en
    Juillet 2010
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Consultant .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2010
    Messages : 17
    Par d�faut
    Bonjour

    Puisque tu souhaites utiliser des WebAPI, la notion de ViewEngine n'existe pas (ou en tout cas ne devrait pas �tre utilis�e, car elle est propre � ASP.NET MVC et pas � ASP.NET Web API).

    Je pense que tu devrais faire un formatter d�di� charg� d'ex�cuter une vue Razor et qui r�agirait � une ent�te Accept de type application/html ou text/html.

    Dans ton formatter ensuite, tu pourrais faire appel directement � la classe RazorTemplateEngine (je suis en train de faire une s�rie d'articles sur le sujet sur mon blog) pour compiler ta vue. C'est potentiellement un sujet un peu complexe o� il faut r��crire beaucoup de chose, donc tu peux faire appel directement au paquet Nuget RazorEngine qui encapsule �a tr�s bien.

    Au final ton formatter contiendrait une m�thode WriteToStreamAsync avec un contenu du type (la classe Razor est expos�e par le paquet RazorEngine) :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    Razor.Compile(stringVue, typeModele, typeModele.Name);
    var razor = Razor.Run(typeModele.Name, valeurModele);
    Bon courage

Discussions similaires

  1. R�ponses: 1
    Dernier message: 28/09/2013, 16h56
  2. R�ponses: 0
    Dernier message: 18/08/2009, 15h49
  3. R�ponses: 4
    Dernier message: 29/05/2009, 00h17
  4. R�ponses: 1
    Dernier message: 11/02/2009, 06h33
  5. Une Web API pour le forum, c'est imaginable ?
    Par mchk0123 dans le forum Evolutions du club
    R�ponses: 7
    Dernier message: 11/06/2007, 10h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo