asp.net MVC

@Html is not working for razor helper view file in App_Code folder

@Html is not working for razor helper view file in App_Code folder, someone asked me to explain?

I have created Helper file that is not accessible from App_Code folder and also HtmlHelper is getting null while running. It was resolved by get helpers from the PageContext.

Creating Helper File:

public static MvcHtmlString GetExternalProfile(this HtmlHelper helper, int? userId)
        {
            models db = new models();
            UserLogin userlogin =db.UserLogins.Find(userId);
            string externalProfile =userlogin.DevName;

           if (externalProfile == null)
            {
               externalProfile = "WebMaster";
            }
            return MvcHtmlString.Create(externalProfile.ToString());
        }

View file in App_Code folder:

@using System.Web.Mvc.Html;
@using System.Web.Mvc
@helper SimpleHelper(int UserId)
{
  var page = (WebViewPage)PageContext.Page;
  var Html = page.Html;
     @Html.GetExternalProfile(UserId);
 }

Post your comments / questions