Ответ 1
Вы используете неправильную перегрузку. Это должно быть:
@using (Html.BeginForm(new { action = ViewContext.RouteData.Values.GetRequiredString("action") }))
или
@using (Html.BeginForm(ViewContext.RouteData.Values.GetRequiredString("action"), ViewContext.RouteData.Values.GetRequiredString("controller"))))
или если вы хотите просто сгенерировать форму POSTing для текущего URL-адреса (обратите внимание, что это будет включать в себя любые параметры строки запроса):
@using (Html.BeginForm())
Полный список доступных перегрузок можно найти в документации .