2009-03-09 9 views
1

Ich bin auf der Suche nach einer Möglichkeit, eine Anwendung Helfer, die Sie Methoden definieren, die Sie in allen Ansichten der Controller aufrufen können. In Rails bekommen Sie das kostenlos, aber wie kann ich dies in ASP.NET MVC mit C# erreichen?Anwendung Helfer in ASP.NET MVC

Antwort

3

Der üblicher Weg ist, Erweiterungsmethoden HtmlHelper durch Schreiben - zum Beispiel:

public static string Script(this HtmlHelper html, string path) 
{ 
    var filePath = VirtualPathUtility.ToAbsolute(path); 
    return "<script type=\"text/javascript\" src=\"" + filePath 
     + "\"></script>"; 
} 

Jetzt in der Ansicht, die Sie Html.Script("foo"); usw. (da die Standardansicht aufgerufen ein HtmlHelper Mitglied hat Html) verwenden können. Sie können auch Methoden in einer Basisansicht schreiben, aber die Methode der Erweiterungsmethode scheint am häufigsten zu sein.

0

Ich würde vorschlagen, eine Erweiterung der Basis-Controller-Klasse hinzuzufügen.

public static class ControllerExtensions 
{ 
    public static string Summin(this Controller c) 
    { 
     return string.Empty; 
    } 
} 

Sie können auf die Hilfefunktion in Ihrem Controller:

public class MyController : Controller 
    { 
     public ActionResult Index() 
     { 
      this.Summin(); 
      return View(); 
     } 
    } 
+0

So wie ich es interpretiert, wurde es aus der Sicht wollte, nicht die Steuerung ... keine große Veränderung, though. –