Home
Do you use Html Helpers and Partial Views to simplify Views?
  v1.0 Posted at 8/03/2013 5:50 AM by Tiago Araujo

Repeated sections of User Interface should be encapsulated in either Html Helpers or Partial Views to avoid repetition.

<div class="featured">
    @if (ViewData.ContainsKey("FeaturedProduct"))
    {
        <span class="ProductName">@ViewBag.FeaturedProduct.Name</span>
        <span class="ProductPrice">@ViewBag.FeaturedProduct.Price</span>
    }
</div>

Figure: Bad Example – The above code could be encapsulated into a Partial View for reuse
public static class DateExtensions
{
    public static MvcHtmlString GetTodayDate(this System.Web.Mvc.HtmlHelper helper)
    {
        return new MvcHtmlString(DateTime.Now.ToShortDateString());
    }
}
@Html.GetTodayDate()
Figure: Good Example – Using an HTML Helper extension method for reusable code
@Html.Partial("_FeaturedProduct")
Figure: Good Example – Using a Partial View for reusable sections of UI

Related rules

    Do you feel this rule needs an update?

    If you want to be notified when this rule is updated, please enter your email address:

    Comments:

    Note: Social Media login for Yotpo is not working in IE or Safari, please use Chrome. We are waiting for Yotpo to fix it.