Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / DynamicData / DynamicData / SimpleFieldTemplateFactory.cs / 1305376 / SimpleFieldTemplateFactory.cs
namespace System.Web.DynamicData { using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.UI.WebControls; using System.Web.Hosting; // This FieldTemplateFactory is used for the simple cases where the user doesn't have // a FieldTemplate directory but wants to get basic validation logic. In a sense // it is a smarter version of a BoundField internal class SimpleFieldTemplateFactory : FieldTemplateFactory { private static bool? _directoryExists; public SimpleFieldTemplateFactory() : this(HostingEnvironment.VirtualPathProvider) { } internal SimpleFieldTemplateFactory(VirtualPathProvider vpp) : base(vpp) { VirtualPathProvider = vpp; } internal VirtualPathProvider VirtualPathProvider { get; set; } protected virtual bool DirectoryExists { get { if (!_directoryExists.HasValue) { // This is expensive so cache it. _directoryExists = VirtualPathProvider.DirectoryExists(TemplateFolderVirtualPath); } return _directoryExists.Value; } } public override IFieldTemplate CreateFieldTemplate(MetaColumn column, DataBoundControlMode mode, string uiHint) { // Call Preprocess mode so that we do set the right mode base on the the column's attributes mode = PreprocessMode(column, mode); bool readOnly = (mode == DataBoundControlMode.ReadOnly); // If the folder doesn't exist use the fallback if (!DirectoryExists) { return CreateFieldTemplate(readOnly, column); } // Always see check if the base found anything first then fall back to the simple field template IFieldTemplate fieldTemplate = base.CreateFieldTemplate(column, mode, uiHint); // If there was no field template found and the user specified a uiHint then use the default behavior if (!String.IsNullOrEmpty(uiHint)) { return fieldTemplate; } return fieldTemplate ?? CreateFieldTemplate(readOnly, column); } private IFieldTemplate CreateFieldTemplate(bool readOnly, MetaColumn column) { // By default we'll support checkbox fields for boolean and a textbox for // everything else if (column.ColumnType == typeof(bool)) { return SimpleFieldTemplateUserControl.CreateBooleanTemplate(readOnly); } return SimpleFieldTemplateUserControl.CreateTextTemplate(column, readOnly); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BinaryUtilClasses.cs
- OracleDateTime.cs
- ExpressionConverter.cs
- SerialErrors.cs
- PostBackTrigger.cs
- wgx_commands.cs
- SafeNativeMethods.cs
- UnsafeNativeMethodsCLR.cs
- TCPListener.cs
- PrintingPermissionAttribute.cs
- CalendarDay.cs
- InfoCardKeyedHashAlgorithm.cs
- DataPager.cs
- AutomationInteropProvider.cs
- Context.cs
- TextTreeInsertUndoUnit.cs
- isolationinterop.cs
- WebPartCollection.cs
- ListComponentEditor.cs
- RectAnimationUsingKeyFrames.cs
- CaseInsensitiveOrdinalStringComparer.cs
- InterleavedZipPartStream.cs
- _KerberosClient.cs
- TextSegment.cs
- MediaPlayerState.cs
- nulltextcontainer.cs
- SplineKeyFrames.cs
- TreeViewItem.cs
- XmlSchemaObject.cs
- XmlSerializer.cs
- ValueChangedEventManager.cs
- ArraySubsetEnumerator.cs
- ByteArrayHelperWithString.cs
- LogStream.cs
- QilIterator.cs
- NavigationService.cs
- WindowsFormsSynchronizationContext.cs
- ObjectItemLoadingSessionData.cs
- IQueryable.cs
- OleDbPropertySetGuid.cs
- FaultContext.cs
- CreateUserWizardAutoFormat.cs
- ToolStripDropTargetManager.cs
- MsmqTransportBindingElement.cs
- wmiprovider.cs
- BindableAttribute.cs
- Attributes.cs
- SafeLibraryHandle.cs
- ForeignKeyConstraint.cs
- GetIndexBinder.cs
- TdsParameterSetter.cs
- UiaCoreApi.cs
- LoginViewDesigner.cs
- MenuItemBindingCollection.cs
- GetKeyedHashRequest.cs
- ResourceExpressionEditor.cs
- HMAC.cs
- SqlCacheDependencyDatabaseCollection.cs
- EventProviderWriter.cs
- PnrpPermission.cs
- CodeCommentStatementCollection.cs
- RelatedEnd.cs
- ServerIdentity.cs
- Int32.cs
- Stroke2.cs
- BinaryObjectInfo.cs
- InfoCardArgumentException.cs
- ComponentEditorForm.cs
- ControlUtil.cs
- updateconfighost.cs
- WindowsFont.cs
- ServiceOperationWrapper.cs
- DocumentPageViewAutomationPeer.cs
- StateWorkerRequest.cs
- _emptywebproxy.cs
- UnsettableComboBox.cs
- HttpResponseInternalWrapper.cs
- ReflectPropertyDescriptor.cs
- BitmapScalingModeValidation.cs
- XsltCompileContext.cs
- ColorConvertedBitmapExtension.cs
- XmlWriter.cs
- _Semaphore.cs
- MultiBinding.cs
- ProfileService.cs
- DataColumnMappingCollection.cs
- ImageField.cs
- PolicyValidationException.cs
- SettingsBindableAttribute.cs
- SpellerHighlightLayer.cs
- XPathNode.cs
- XmlAttributeCache.cs
- StringUtil.cs
- ILGenerator.cs
- WindowsTab.cs
- TriState.cs
- XmlSchemaResource.cs
- SerializationInfoEnumerator.cs
- FlowDocumentPageViewerAutomationPeer.cs
- EdmComplexTypeAttribute.cs