4 votes

Extension HtmlHelper pour envelopper le contenu du ServiceStack Markdown Razor

Utilisation de ServiceStack Markdown Razor comment puis-je créer une méthode d'extension HtmlHelper qui fonctionne comme suit :

Dans vos vues, vous pouvez maintenant faire :

@{
    using (Html.BeginLink())
    { 
        @Html.Raw("Hello World")
    }
}

Ce qui donne le résultat :

<a>Hello World</a>

de Cette réponse de StackOverflow

ServiceStack Markdown Razor n'a pas de concept de ViewContext Je ne sais donc pas comment obtenir un écrivain de la même manière que dans la réponse SO.


UPDATE

Je peux accéder à l'écran de la page d'affichage. StringBuilder directement à partir de :

@{ this.ViewPage.Builder }

Mais est-ce la façon prévue d'y accéder ? S'il était prévu d'accéder directement au StringBuilder, est-ce que la fonction StringBuilder être exposé à partir du HtmlHelper au lieu de ViewData (de MVC) ?

2voto

b_meyer Points 594

Vous pourriez faire quelque chose comme :

public static class MyHelpers
{

    public static IHtmlString PrintHelloWorld(this HtmlHelper helper)
    {
        return helper.Raw("Hello World");
    }
}

Assurez-vous simplement que la classe ci-dessus se trouve dans le même espace de noms que le HtmlHelper.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X