Я работаю в представлении, которое должно отображать другую ссылку в зависимости от того, есть ли у пользователя пароль (у него еще не было бы пароля, если он использует регистрацию в Facebook). Я пытаюсь заставить его взглянуть на хэш пароля и посмотреть, является ли он нулевым или нет. Поскольку он находится в общем представлении макета, я использую Html.Action для передачи информации. Вот мой контроллер:
public ActionResult CheckForPassword()
{
var userId = User.Identity.GetUserId();
var passHash = db.Users.Find(userId).PasswordHash;
return Content(passHash);
}
... и представление:
if (Html.Action("CheckForPassword", "Home") == null)
{
<li>@Html.ActionLink("Create Password", "SetPassword", "Manage")</li>
}
else
{
<li>@Html.ActionLink("Change Password", "ChangePassword", "Manage")</li>
}
Когда я запускаю отладчик с точкой останова, входя в систему через Facebook, я вижу, что *В контроллере 1007 * отображается как ноль, но, похоже, он не переводится в представление, в котором я не смог отобразить ссылку "Создать пароль".