Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / LoginName.cs / 1 / LoginName.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System.ComponentModel;
using System.Globalization;
using System.Security.Permissions;
using System.Security.Principal;
using System.Web.UI;
using System.Web;
///
/// Renders a Label containing the name of the current user, as defined by the FormatString property.
/// Renders nothing if the current user is anonymous.
///
[
Bindable(false),
Designer("System.Web.UI.Design.WebControls.LoginNameDesigner," + AssemblyRef.SystemDesign),
DefaultProperty("FormatString")
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class LoginName : WebControl {
private const string _defaultFormatString = "{0}";
///
/// The format specification. {0} is replaced with the user name of the logged in user.
///
[
WebCategory("Appearance"),
DefaultValue(_defaultFormatString),
Localizable(true),
WebSysDescription(SR.LoginName_FormatString)
]
public virtual string FormatString {
get {
object obj = ViewState["FormatString"];
return (obj == null) ? _defaultFormatString : (string) obj;
}
set {
ViewState["FormatString"] = value;
}
}
internal string UserName {
get {
if (DesignMode) {
return SR.GetString(SR.LoginName_DesignModeUserName);
}
else {
return LoginUtil.GetUserName(this);
}
}
}
protected internal override void Render(HtmlTextWriter writer) {
if (!String.IsNullOrEmpty(UserName)) {
base.Render(writer);
}
}
public override void RenderBeginTag(HtmlTextWriter writer) {
// Needed for adapter case to prevent empty span tags
if (!String.IsNullOrEmpty(UserName)) {
base.RenderBeginTag(writer);
}
}
public override void RenderEndTag(HtmlTextWriter writer) {
// Needed for adapter case to prevent empty span tags
if (!String.IsNullOrEmpty(UserName)) {
base.RenderEndTag(writer);
}
}
///
/// Styles would be rendered by the WebControl base class.
///
protected internal override void RenderContents(HtmlTextWriter writer) {
string userName = UserName;
if (!String.IsNullOrEmpty(userName)) {
// VSWhidbey 304890 HTMLEncode the username
userName = HttpUtility.HtmlEncode(userName);
string formatString = FormatString;
if (formatString.Length == 0) {
writer.Write(userName);
}
else {
try {
writer.Write(String.Format(CultureInfo.CurrentCulture, formatString, userName));
}
catch (FormatException e) {
throw new FormatException(SR.GetString(SR.LoginName_InvalidFormatString), e);
}
}
}
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GeneratedView.cs
- DataGridColumnFloatingHeader.cs
- VisualBrush.cs
- ChannelManager.cs
- PageThemeParser.cs
- CharEnumerator.cs
- RenderDataDrawingContext.cs
- CacheEntry.cs
- RangeEnumerable.cs
- brushes.cs
- WindowsComboBox.cs
- TransactionBridgeSection.cs
- UpdateException.cs
- EventLogStatus.cs
- PerformanceCounterPermission.cs
- ToolstripProfessionalRenderer.cs
- Timer.cs
- PrintEvent.cs
- CodeTypeDeclaration.cs
- SemaphoreSecurity.cs
- XmlTypeAttribute.cs
- SessionStateUtil.cs
- httpserverutility.cs
- TextPatternIdentifiers.cs
- _TLSstream.cs
- HasActivatableWorkflowEvent.cs
- EventData.cs
- CompilerWrapper.cs
- TreeNode.cs
- CroppedBitmap.cs
- Control.cs
- TargetControlTypeAttribute.cs
- XmlWellformedWriterHelpers.cs
- NonParentingControl.cs
- Line.cs
- Sentence.cs
- SqlUDTStorage.cs
- _ListenerResponseStream.cs
- RootBuilder.cs
- DirectionalLight.cs
- EnterpriseServicesHelper.cs
- FontCacheLogic.cs
- BidOverLoads.cs
- NegotiateStream.cs
- XmlSchemaInfo.cs
- JsonFormatGeneratorStatics.cs
- BamlLocalizableResourceKey.cs
- PreDigestedSignedInfo.cs
- CompositeFontParser.cs
- CommandDevice.cs
- DynamicVirtualDiscoSearcher.cs
- HttpHeaderCollection.cs
- LoginCancelEventArgs.cs
- XmlUrlResolver.cs
- _NegoState.cs
- IChannel.cs
- SAPIEngineTypes.cs
- RequestUriProcessor.cs
- DesignerActionService.cs
- TileBrush.cs
- SubclassTypeValidator.cs
- MetabaseServerConfig.cs
- RightsManagementEncryptedStream.cs
- DataGridViewCellPaintingEventArgs.cs
- Bidi.cs
- CookieProtection.cs
- PenThreadWorker.cs
- TypeRestriction.cs
- _ConnectStream.cs
- TypeConverterValueSerializer.cs
- CacheMode.cs
- EdmToObjectNamespaceMap.cs
- SubclassTypeValidator.cs
- PageEventArgs.cs
- TypedDataSourceCodeGenerator.cs
- InputScope.cs
- PKCS1MaskGenerationMethod.cs
- HttpProfileBase.cs
- WebPartAddingEventArgs.cs
- SafeThemeHandle.cs
- DuplicateContext.cs
- CodeNamespaceCollection.cs
- ClientProtocol.cs
- WindowsProgressbar.cs
- SuppressMergeCheckAttribute.cs
- HttpBrowserCapabilitiesBase.cs
- ExpressionNormalizer.cs
- SqlDataSourceSelectingEventArgs.cs
- SqlCachedBuffer.cs
- PathGeometry.cs
- MetadataHelper.cs
- TimeoutException.cs
- PtsPage.cs
- sqlstateclientmanager.cs
- validation.cs
- TemplateKeyConverter.cs
- BasicKeyConstraint.cs
- TextChangedEventArgs.cs
- MultiSelectRootGridEntry.cs
- HtmlInputImage.cs