2009-03-11 3 views
3

У меня есть страница .aspx с помощью элемента управления входами с пользовательской аутентификацией. Мне было интересно, возможно ли иметь сообщение «Welcome [FirstName] [LastName]», используя элемент управления LoginName, а не [UserName], к которому обращаются по умолчанию.Отобразить полное имя в элементе управления ASP.NET LoginName

Я собираюсь сохранить эту информацию в объекте Session, если это невозможно.

Спасибо!

ответ

2

Вам необходимо переопределить метод RenderContents или создать свой собственный элемент LoginName. Нечто подобное будет делать трюк:

protected override void RenderContents(HtmlTextWriter writer) 
{ 
     if (string.IsNullOrEmpty(Profile.FullName)) 
      return; 

     nameToDisplay = HttpUtility.HtmlEncode(Profile.FullName); 
     string formatExpression = this.FormatString; 
     if (formatExpression .Length == 0) 
     { 
      writer.Write(nameToDisplay); 
     } 
     else 
     { 
      try 
      { 
        writer.Write(string.Format(CultureInfo.CurrentCulture, formatExpression, new object[1] { nameToDisplay }); 
      } 
      catch (FormatException exception) 
      { 
        throw new FormatException("Invalid FormatString", exception1); 
      } 
     } 
} 

Также смотрите здесь краткую статью о working with LoginName.

+0

Я не использую поставщиков ASP.NET по умолчанию и не использую также профиль. Я решил сохранить полное имя пользователя в объекте сеанса. Благодаря! –

0

Свойство FormatString Чтобы настроить сообщение приветствия на любую нужную строку, вы можете использовать. В сочетании с разработчиками выражений (например, <%$ expressionPrefix: expressionValue %>) у вас будет гибкий способ определения вывода.

2

создать элемент LoginName на странице перенаправления, это может быть Masterpage.aspx или любая другая страница.

<asp:LoginName ID="LoginName1" runat="server" /> 

затем вставить эти строки кода внутри Page_Load в .cs файл

protected void Page_Load(object sender, EventArgs e) 
{ 
    //this can come from anywhere like session, database 
    string fullName = "ABC XYZ"; 
    LoginName1.FormatString = "welcome" + " - " + fullName ; //output: welcome - ABC XYZ 

    or 

    LoginName1.FormatString = fullName; // output: ABC XYZ 
} 

это полезно для вас ???

Смежные вопросы