Umbraco 7 - C# Razor - Passing a parameter variable from a Template to a Partial View.

Passing a parameter variable from a Template to a Partial View

Example - Passing a Page Id to a Partial View.

In the example below we are passing 3 page Ids (1090. 1091, 1092) to a partial view.  The Partial View will display the details for each of these nodes on a home page.  See final output below.



1) In your Template:

@Html.Partial("HomePageLinksToLandingPages", new ViewDataDictionary{{ "pageId", 1090}})            
 @Html.Partial("HomePageLinksToLandingPages", new ViewDataDictionary{{ "pageId", 1091}})  
 @Html.Partial("HomePageLinksToLandingPages", new ViewDataDictionary{{ "pageId", 1092}}) 


2) The Partial View:

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage  
      @{  
           var thisPageId = 1090;  
           var stringPage = @ViewData["pageId"];  
           thisPageId = Convert.ToInt32(stringPage);  
      }  
      <div class="col-md-4">  
         <article class="common-blog-post animated fadeInRight clearfix">  
           <div class="gallery gallery-slider clearfix loading">  
             <a href="@Umbraco.Content(thisPageId).url" title="@Umbraco.Content(thisPageId).pageTitle">  
                  <img src="@Umbraco.Content(thisPageId).GetCropUrl("pageImage", "pageImage")" alt="gallery-1" alt="title="@Umbraco.Content(thisPageId).pageTitle" />  
                               </a>  
           </div>  
           <div class="text-content clearfix">  
             <h5><a href="@Umbraco.Content(thisPageId).url">@Umbraco.Content(thisPageId).navigationName</a></h5>  
             <div class="for-border"></div>  
             @try{  
                                         if (@Umbraco.Content(thisPageId).homepagetext.Length >=400 )  
                                         {  
                                              <p>@Umbraco.Content(thisPageId).homepagetext.Substring(0,400)</p>  
                                         }  
                                         else  
                                         {  
                                              <p>@Umbraco.Content(thisPageId).homepagetext</p>  
                                         }  
                                    }  
                                    catch{}  
           </div>  
                          <a class="read-more" href=@Umbraco.Content(thisPageId).url" title="@Umbraco.Content(thisPageId).pageTitle">Read More</a>       
         </article>  
       </div>  

3) Output:



Comments

Popular posts from this blog

Umbraco Razor Sort Nodes Ascending or Descending

Umbraco - Reset the Admin Password via SQL Server