Проблема в том, что вы на самом деле ничего не добавляете в поток ответов.В Html.Encode нет ничего плохого, но вам нужно сделать что-то вроде этого:
<%if (!ViewData.ContainsKey("DisplayQtyPrice")) {
Response.Write(Html.Encode(entry.Amount));
}%>
РЕДАКТИРОВАТЬ: Тем не менее, я думаю, что ваша первая версия лучше, если у вас нет проблем с угловыми скобками:)