Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Jeroen Oostwouder 67 posts 163 karma points
    Sep 11, 2015 @ 13:17
    Jeroen Oostwouder
    0

    Html.Raw() within a Helpers.cshtml

    I'm not that advanced with Umbraco, but I'm having some trouble with the following:

    I found it's a "best practice" to put all @Helper functions within a seperate file. So I have App_Code\Helpers.cshtml

    The problem is that I need Html.Raw(), but it gives me a null-reference on the Html object. Do I need a special inherit on the top of my page to be able to use this object? I have none at the moment.

  • Marc Goodson 1451 posts 9716 karma points MVP 5x c-trib
    Sep 11, 2015 @ 22:53
    Marc Goodson
    0

    When you move your razor helpers into the App_Code, in MVC, I think you lose access to the Html helpers via the @Html. syntax.

    workaround wise you can pass the HtmlHelper class into your helper method eg

    @helper MyHelperMethod(HtmlHelper html, String cssClass) {
        var extra = "class=\"foo\"";
        <[email protected](extra)></div>
    }
    

    or instead, create your helper methods in a c# class as extension methods of the HtmlHelper class eg

    public static class HtmlHelperExtensions
    {
        public static MvcHtmlString MyHelperMethod(this HtmlHelper)
        {
            var div = new TagBuilder("div");
            div.AddCssClass("foo");
            return MvcHtmlString.Create(div.ToString());
        }
    }
    
  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies