Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / DynamicData / DynamicData / DynamicEntity.cs / 1305376 / DynamicEntity.cs
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using System.Drawing;
using System.Globalization;
using System.Web.DynamicData.Util;
using System.Web.Resources;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace System.Web.DynamicData {
[ToolboxBitmap(typeof(DynamicEntity), "DynamicEntity.bmp")]
public class DynamicEntity : Control {
private HttpContextBase _context;
[
DefaultValue(DataBoundControlMode.ReadOnly),
Category("Behavior"),
ResourceDescription("DynamicEntity_Mode")
]
public DataBoundControlMode Mode {
get {
var value = ViewState["Mode"];
return value != null ? (DataBoundControlMode)value : DataBoundControlMode.ReadOnly;
}
set {
ViewState["Mode"] = value;
}
}
[
DefaultValue(""),
Category("Behavior"),
ResourceDescription("DynamicControlFieldCommon_UIHint")
]
public string UIHint {
get {
return (string)ViewState["UIHint"] ?? String.Empty;
}
set {
ViewState["UIHint"] = value;
}
}
[
Category("Behavior"),
DefaultValue(""),
Themeable(false),
ResourceDescription("DynamicControlFieldCommon_ValidationGroup")
]
public string ValidationGroup {
get {
return (string)ViewState["ValidationGroup"] ?? String.Empty;
}
set {
ViewState["ValidationGroup"] = value;
}
}
private new HttpContextBase Context {
get {
return _context ?? new HttpContextWrapper(HttpContext.Current);
}
}
public DynamicEntity() {
}
// for unit testing
internal DynamicEntity(HttpContextBase context)
: this() {
_context = context;
}
[SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers", MessageId = "0#")]
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
if (DesignMode) {
return;
}
MetaTable table = MetaTableHelper.FindMetaTable(this, Context);
if (table == null) {
throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture,
DynamicDataResources.DynamicEntity_ControlNeedsToExistInAContextSupportingDynamicData,
this.ID));
}
EntityTemplateFactory entityTemplateFactory = table.Model.EntityTemplateFactory;
EntityTemplateUserControl entityTemplateControl = entityTemplateFactory.CreateEntityTemplate(table, Mode, UIHint);
if (entityTemplateControl == null) {
throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture,
DynamicDataResources.DynamicEntity_CantFindTemplate,
table.Name,
entityTemplateFactory.TemplateFolderVirtualPath));
}
entityTemplateControl.Mode = Mode;
entityTemplateControl.ValidationGroup = ValidationGroup;
entityTemplateControl.Table = table;
Controls.Add(entityTemplateControl);
}
protected override void Render(HtmlTextWriter writer) {
if (DesignMode) {
writer.Write("[" + GetType().Name + "]");
}
else {
base.Render(writer);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using System.Drawing;
using System.Globalization;
using System.Web.DynamicData.Util;
using System.Web.Resources;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace System.Web.DynamicData {
[ToolboxBitmap(typeof(DynamicEntity), "DynamicEntity.bmp")]
public class DynamicEntity : Control {
private HttpContextBase _context;
[
DefaultValue(DataBoundControlMode.ReadOnly),
Category("Behavior"),
ResourceDescription("DynamicEntity_Mode")
]
public DataBoundControlMode Mode {
get {
var value = ViewState["Mode"];
return value != null ? (DataBoundControlMode)value : DataBoundControlMode.ReadOnly;
}
set {
ViewState["Mode"] = value;
}
}
[
DefaultValue(""),
Category("Behavior"),
ResourceDescription("DynamicControlFieldCommon_UIHint")
]
public string UIHint {
get {
return (string)ViewState["UIHint"] ?? String.Empty;
}
set {
ViewState["UIHint"] = value;
}
}
[
Category("Behavior"),
DefaultValue(""),
Themeable(false),
ResourceDescription("DynamicControlFieldCommon_ValidationGroup")
]
public string ValidationGroup {
get {
return (string)ViewState["ValidationGroup"] ?? String.Empty;
}
set {
ViewState["ValidationGroup"] = value;
}
}
private new HttpContextBase Context {
get {
return _context ?? new HttpContextWrapper(HttpContext.Current);
}
}
public DynamicEntity() {
}
// for unit testing
internal DynamicEntity(HttpContextBase context)
: this() {
_context = context;
}
[SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers", MessageId = "0#")]
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
if (DesignMode) {
return;
}
MetaTable table = MetaTableHelper.FindMetaTable(this, Context);
if (table == null) {
throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture,
DynamicDataResources.DynamicEntity_ControlNeedsToExistInAContextSupportingDynamicData,
this.ID));
}
EntityTemplateFactory entityTemplateFactory = table.Model.EntityTemplateFactory;
EntityTemplateUserControl entityTemplateControl = entityTemplateFactory.CreateEntityTemplate(table, Mode, UIHint);
if (entityTemplateControl == null) {
throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture,
DynamicDataResources.DynamicEntity_CantFindTemplate,
table.Name,
entityTemplateFactory.TemplateFolderVirtualPath));
}
entityTemplateControl.Mode = Mode;
entityTemplateControl.ValidationGroup = ValidationGroup;
entityTemplateControl.Table = table;
Controls.Add(entityTemplateControl);
}
protected override void Render(HtmlTextWriter writer) {
if (DesignMode) {
writer.Write("[" + GetType().Name + "]");
}
else {
base.Render(writer);
}
}
}
}
// 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
- XmlCodeExporter.cs
- FormatSettings.cs
- OperationContext.cs
- HealthMonitoringSectionHelper.cs
- ProcessThread.cs
- commandenforcer.cs
- TrackingProfileManager.cs
- EntityKey.cs
- Variable.cs
- CompilationLock.cs
- XmlValidatingReader.cs
- ToolConsole.cs
- Scalars.cs
- ElementAtQueryOperator.cs
- NopReturnReader.cs
- TileBrush.cs
- ComponentEditorForm.cs
- Win32.cs
- CheckBoxBaseAdapter.cs
- Margins.cs
- CheckBox.cs
- XmlNodeComparer.cs
- DrawingAttributesDefaultValueFactory.cs
- TextDecorationCollectionConverter.cs
- InputScopeNameConverter.cs
- SafeArchiveContext.cs
- ExtensibleClassFactory.cs
- TreeNodeMouseHoverEvent.cs
- InstanceLockException.cs
- DataConnectionHelper.cs
- TextRange.cs
- PageCodeDomTreeGenerator.cs
- PopupEventArgs.cs
- DocumentEventArgs.cs
- CompileXomlTask.cs
- mansign.cs
- ModulesEntry.cs
- TextEncodedRawTextWriter.cs
- DbConnectionPoolIdentity.cs
- IndependentAnimationStorage.cs
- SamlSubjectStatement.cs
- FixUp.cs
- Rights.cs
- _ConnectionGroup.cs
- EncoderExceptionFallback.cs
- TableLayoutCellPaintEventArgs.cs
- ObjectQuery.cs
- SBCSCodePageEncoding.cs
- TargetException.cs
- Pool.cs
- HandoffBehavior.cs
- AdPostCacheSubstitution.cs
- JavaScriptSerializer.cs
- Axis.cs
- EditCommandColumn.cs
- RadioButton.cs
- ResourceAssociationSet.cs
- TextTrailingWordEllipsis.cs
- SessionStateModule.cs
- Crc32.cs
- InputScope.cs
- OdbcConnection.cs
- RegexReplacement.cs
- StartFileNameEditor.cs
- QueryExtender.cs
- HtmlInputImage.cs
- ComponentConverter.cs
- GiveFeedbackEvent.cs
- ServiceModelInstallComponent.cs
- TextAdaptor.cs
- DuplexSecurityProtocolFactory.cs
- HostingEnvironment.cs
- DataBindingCollection.cs
- PrintEvent.cs
- CharacterMetrics.cs
- DateTime.cs
- Rotation3D.cs
- SecurityDescriptor.cs
- DataGridViewLinkColumn.cs
- FloatUtil.cs
- AuthenticationModuleElementCollection.cs
- TrustManagerPromptUI.cs
- ServiceMemoryGates.cs
- IncrementalCompileAnalyzer.cs
- SchemaElementLookUpTable.cs
- EUCJPEncoding.cs
- FullTextState.cs
- CorruptingExceptionCommon.cs
- PairComparer.cs
- SignatureResourcePool.cs
- Size.cs
- ToolStripInSituService.cs
- ScriptRegistrationManager.cs
- TypedTableBaseExtensions.cs
- UserPreferenceChangingEventArgs.cs
- StorageComplexPropertyMapping.cs
- XmlAttributeCollection.cs
- SystemIcmpV4Statistics.cs
- MediaEntryAttribute.cs
- ConfigDefinitionUpdates.cs