I couldn’t find anything through Google, I suppose the search terms are too much to handle.
The VS built-in help only explains <%, which is just embedded code. There is no mention of <%:
EDIT:
My book says, that the only difference is that <%: returns a MvcHtmlString. Why do we need an extra symbol for <%: just to return something?
EDIT2:
An example:
<% Html.RenderAction("xxx", "xxx"); %>
Nothing is returned, that’s why we have to say <%, because it would htmlencode? But what if I render something in .RenderAction() that needs to be htmlencoded too? Or does that not make sense?
Thanks for any help! It would really help me to understand asp.net.
As indicated in other answers, it is for Html encoding. Here’s a blog entry explaining.