Search In
Learn from 350 other Umbracians at the annual Umbraco Conference - CodeGarden '13. More than twenty high quality sessions, open spaces, hackathons and social events you'll remember. Not to be missed! Less than 45 tickets left - get yours now!
can I write razor code in template...? something like...
<umbraco:Macro runat="server" language="cshtml"> <ul> @{var selected = Array.IndexOf(Request.Url, 'competition') >= 0 ? " class=\"selected\"" : "";<li@Html.Raw(selected)>var selected1 = Array.IndexOf(Request.Url, 'gallery') >= 0 ? " class=\"selected\"" : ""; <li@Html.Raw(selected1) } </ul></umbraco:Macro>
as just now this is giving me error... randering script error...
you can write razor in template like you did.
you have some problem with the macro code.
what should be the result?
you are open new LI before closing the first one.
and the second LI tag is not close
u r right... actually I want to set selected class in particular li tag by checking if url contains a particular word
here is the modifdied code.. but still showing error...
<div class="talent-menu-mid"><umbraco:Macro runat="server" language="cshtml"> <ul>@{ string selected = Array.IndexOf(@Model.Path, 'competition') >= 0 ? " class=\"selected\"" : ""; <li@Html.Raw(selected)><a href="/talent-corner/competition/" >Competition</a></li> string selected1 = Array.IndexOf(@Model.Path, 'Participate') >= 0 ? " class=\"selected\"" : ""; <li@Html.Raw(selected1)><a href="/talent-corner/participate/">Participate</a></li> string selected2 = Array.IndexOf(@Model.Path, 'Gallery') >= 0 ? " class=\"selected\"" : ""; <li@Html.Raw(selected2)><a href="/talent-corner/gallery/">Gallery</a></li>} </ul></umbraco:Macro></div>
can you correct the code.. where am I going wrong?
anybody.. any clue.. what's going wrong?