2010-11-15 19 views

cevap

30

sen kesinlikle yazılı görüşlerini kullanıyorsanız hangi yapmalısınız:

public static MvcHtmlString MyHelper<TModel>(this HtmlHelper<TModel> htmlHelper) 
{ 
    TModel model = htmlHelper.ViewData.Model; 
    return MvcHtmlString.Empty; 
} 

sen kesinlikle yazılı görüşlerini kullanmıyorsanız hangi yapmamalısın:

public static MvcHtmlString MyHelper(this HtmlHelper htmlHelper) 
{ 
    object model = htmlHelper.ViewData.Model; 
    return MvcHtmlString.Empty; 
} 
+0

@Darin Belirli bir model için güçlü bir şekilde yazılan bir Yardımcı istediyseniz, public static MvcHtmlString FooBarFor (bu HtmlHelper htmlHelper) 'gibi bir şey yapar mıydınız? – AaronLS

+0

@AaronLS, evet, kesinlikle. –

-16

HTML yardımcıları HTML programlı olarak oluşturmanın kötü bir yoludur. Web Formları, bir sayfa sınıfı dosyasındaki kodla ve ayrı bir dosyada HTML biçimlendirmesiyle çok daha iyidir. Evet HTML yardımcıları bazı kodları ayrı sınıf dosyalarına koydular, ancak HTML sayfanızdan kod çağıracaksınız. Görünüm sayfanızda doğrudan kod yazmanızı engelleyen nedir. MVC, yapmak zorunda olmadığınız pek çok kötü uygulamayı desteklemektedir, ancak bazı nedenlerden dolayı Web Formları geliştiricilerine izin verildiğinden kötü uygulamalar yapmak zorundadırlar. Web Formlarını iyi öğrenirseniz, HTML yardımcıları gibi prosedürel mantık yerine, modern nesne tabanlı kalıpları kullanarak sürdürülebilir ve ölçeklenebilir web uygulamaları geliştirirsiniz.

+0

Bir sınıf dosyasında yazılan herhangi bir biçimlendirmenin hayranı değilim. Mümkün olduğunca yardımcılardan uzak duruyorum. MVC'nin kesinlikle problemleri olmasına rağmen (MVVM'ye doğru belirli bir miktarda itme), Web Formları doğası gereği kırılmıştı, çok acı verici tavizlerle bağlanmıştı. – AsciiSmoke

İlgili konular