Search code examples
asp.net-mvc-4razorrazor-2

unexpected "{" after @ in razor code in mvc4


I am getting below error in render partial in razor code, Unexpected "{" after "@" character. Once inside the body of a code block (@if {}, @{}, etc.) you do not need to use "@{" to switch to code.

@if (Model.Count() > 0)
{
    <div id="mReserveForTodayPartial">    
        @{Html.Partial("UpdateReserveForToday.mobile");}
    </div>
}

kindly help..!


Solution

  • Html.Partial() return MvcHtmlString so you have to do like this:

     @Html.Partial("UpdateReserveForToday")
    

    in Html.RenderPartial() case it writes to the output stream and that's why it's return type is void, so when using Html.RenderPartial() you have to do this:

    @{
    
    Html.RenderPartial("UpdateReserveForToday");
    
    }