2010-06-27 3 views

Répondre

2

Vous avez juste besoin d'une méthode statique:

public static string Label(string target, string text) 
{ 
    return String.Format("<label for= '{0}'>{1}</label>",target,text); 
} 
1

Il ne sera pas aussi simple que l'ajout d'une méthode statique si vous souhaitez revenir WebControls. Vous devriez vous connecter au rendu de la page.

+0

Non seulement cela, vous devrez créer votre propre intelesense pour permettre une utilisation simple des helpers html (pour que ce soit facile, ce qui est le point entier des helpers html). –

3

est ici celui qui travaille pour moi jusqu'à présent dans mon utilisation limitée

public static class PageCommon 
{ 
    public static System.Web.Mvc.UrlHelper GetUrlHelper(this System.Web.UI.Control c) 
    { 
     var helper = new System.Web.Mvc.UrlHelper(c.Page.Request.RequestContext); 
     return helper; 
    } 
    class ViewDataBag : IViewDataContainer 
    { 
     ViewDataDictionary vdd = new ViewDataDictionary(); 
     public ViewDataDictionary ViewData 
     { 
      get 
      { 
       return vdd; 
      } 
      set 
      { 
       vdd = value; 
      } 
     } 
    } 
    public static System.Web.Mvc.HtmlHelper GetHtmlHelper(this System.Web.UI.Control c) 
    { 
     var v = new System.Web.Mvc.ViewContext(); 
     var helper = new System.Web.Mvc.HtmlHelper(v, new ViewDataBag()); 
     return helper; 
    } 
+0

Cette réponse va un long chemin à combler un fossé d'activer les instructions MVC Html comme Html.DisplayFor et ainsi de suite. – enorl76

Questions connexes