When I\'m putting following code:
@using (Html.BeginForm(\"LogOff\", \"Account\", FormMethod.Post, new { id = \"logoutForm\" })) { @Html.AntiForgery
It's telling you that it won't work because despite being logged in, Membership.GetUser().UserName is not providing a name that can be used for hashing.
Membership.GetUser().UserName
So your real problem is, "How come my logged in user doesn't have a username?"