Выборка данных для создания значений по умолчанию в c #?

#c# #asp.net-mvc

#c# #asp.net-mvc

Вопрос:

Как я могу получить значение по умолчанию в зависимости от того, вошел пользователь в систему или нет?

 public class ShippingDetails {

  public ShippingDetails() {                
    if (HttpContext.Current.User.Identity.Name != "") {
        Name = "";                
    }             
   }

   public string Name { get; set; }
}
 

Ответ №1:

Вы имеете в виду получить имя пользователя для входа, в противном случае просто дайте им фиктивное имя? Проверьте, вошли ли они в систему с помощью Request.IsAuthenticated . Если они есть, возьмите имя пользователя, если нет, просто установите его.

 if (HttpContext.Current.Request.IsAuthenticated)
    Name = HttpContext.Current.User.Identity.Name;
else
    Name = "User";
 

Комментарии:

1. прохладный. похоже, это тоже работает. Интересно, есть ли преимущество в использовании вашего метода по сравнению с моим или наоборот

2. @Shredder, не уверен, но я предпочитаю использовать Запрос. Аутентифицируется, потому что это дает понять, что я проверяю.

Ответ №2:

Вы также можете проверить

 if (HttpContext.Current.User.Identity.IsAuthenticated) {
   Name = HttpContext.Current.User.Identity.Name;
} 
else 
{ 
   Name = "Anonymous"
}