2009-03-09 13 views
1

Tüm kontrolör görüntülemelerinde arayabileceğiniz yöntemleri tanımlamanıza izin veren bir uygulama yardımcısı yapmanın bir yolunu arıyorum. Rails'de bunu ücretsiz olarak elde edersiniz ama bunu ASP.NET MVC'de C# ile nasıl yapabilirim?ASP.NET MVC'de uygulama yardımcısı MVC

cevap

3

zamanki gibi HtmlHelper için uzatma yöntemleri yazarak - örneğin:

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

Şimdi görünümünde Eğer Html.Script("foo"); vb kullanabilirsiniz (standart görünüm sahip olduğundan bir HtmlHelper üye Html olarak adlandırılır). Ayrıca, bir taban görünümünde de yöntemler yazabilirsiniz, ancak uzantı yöntemi yaklaşımı en yaygın olarak görünmektedir.

0

Temel denetleyici sınıfına bir uzantı yöntemi eklemenizi öneririm.

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

Sen denetleyicisi yardımcı işlevi erişebilir: Ben yorumlanır

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

şekilde, gerçi, bakış değil, kontrolör ... değil büyük bir değişim elde istedi. –