Ваша проблема - ошибочная точка с запятой в строке 2.
if (membership == "Free") ; // whats that semicolon for?
Оператор if контролирует выполнение точки с запятой (no-op), а не оператор возврата в следующей строке.
Это означает, что ваша строка return RedirectToAction
всегда будет выполняться. Итак, все после него недоступно.
Урок: всегда используйте фигурные скобки в потоке управления:
if(membership == "Free") {
return RedirectToAction("Register", "Account");
}
Кроме того, если вы разрешите VS форматировать ваш код, это станет более понятным. Используйте "Ctrl-K + D" для форматирования документа. Это приведет к отступу строки return RedirectToAction
, и станет ясно, что она не соответствует выражению if
.