Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / ObjectListField.cs / 1305376 / ObjectListField.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Security.Permissions;
namespace System.Web.UI.MobileControls
{
/*
* Object List Field class.
*
* Copyright (c) 2000 Microsoft Corporation
*/
///
[
PersistName("Field")
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
public sealed class ObjectListField : IStateManager
{
private StateBag _stateBag = new StateBag();
private bool _marked;
private PropertyDescriptor _dataFieldDescriptor;
private ObjectList _owner;
private bool _selfReference = false;
///
[
DefaultValue("")
]
public String Name
{
get
{
String s = (String)ViewState["Name"];
return (s == null) ? String.Empty : s;
}
set
{
ViewState["Name"] = value;
}
}
///
[
DefaultValue("")
]
public String DataField
{
get
{
String s = (String)ViewState["DataField"];
return (s == null) ? String.Empty : s;
}
set
{
ViewState["DataField"] = value;
NotifyOwnerChange();
}
}
///
[
DefaultValue("")
]
public String DataFormatString
{
get
{
String s = (String)ViewState["DataFormatString"];
return (s == null) ? String.Empty : s;
}
set
{
ViewState["DataFormatString"] = value;
NotifyOwnerChange();
}
}
///
[
DefaultValue("")
]
public String Title
{
get
{
String s = (String)ViewState["Title"];
return (s == null) ? String.Empty : s;
}
set
{
ViewState["Title"] = value;
}
}
///
[
DefaultValue(true)
]
public bool Visible
{
get
{
Object b = ViewState["Visible"];
return (b == null) ? true : (bool)b;
}
set
{
ViewState["Visible"] = value;
}
}
internal bool SelfReference
{
get
{
return _selfReference;
}
set
{
_selfReference = value;
}
}
internal String UniqueID
{
get
{
Object o = ViewState["Name"];
if (o != null)
{
return (String)o;
}
return (String)ViewState["DataField"];
}
}
private void NotifyOwnerChange()
{
// Only called if databinding behavior of the field changes.
if (_owner != null)
{
_owner.OnFieldChanged(false); // fieldAddedOrRemoved = false;
}
}
private StateBag ViewState
{
get
{
return _stateBag;
}
}
internal void SetOwner(ObjectList owner) {
_owner = owner;
}
///
public void DataBindItem(int fieldIndex, ObjectListItem item)
{
Object dataItem = item.DataItem;
if (dataItem == null)
{
return;
}
if (!SelfReference)
{
String dataField = DataField;
if (dataField.Length == 0)
{
return;
}
_dataFieldDescriptor = TypeDescriptor.GetProperties(dataItem).Find(dataField, true);
if (_dataFieldDescriptor == null && !_owner.MobilePage.DesignMode)
{
throw new Exception(
SR.GetString(SR.ObjectListField_DataFieldNotFound, dataField));
}
}
Object data;
if (_dataFieldDescriptor != null)
{
data = _dataFieldDescriptor.GetValue(dataItem);
}
// Use fake databound text if the datasource is not accessible at designtime.
else if (_owner.MobilePage.DesignMode)
{
data = SR.GetString(SR.ObjectListField_DataBoundText);
}
else
{
Debug.Assert(SelfReference, "Shouldn't get this far if !SelfReference");
data = dataItem;
}
String dataText;
if ((data != null) && (data != System.DBNull.Value))
{
String dataFormatString = DataFormatString;
if (dataFormatString.Length > 0)
{
dataText = String.Format(CultureInfo.InvariantCulture, dataFormatString, data);
}
else
{
dataText = data.ToString();
}
}
else
{
dataText = String.Empty;
}
item[fieldIndex] = dataText;
}
/////////////////////////////////////////////////////////////////////////
// STATE MANAGEMENT
/////////////////////////////////////////////////////////////////////////
///
///
bool IStateManager.IsTrackingViewState
{
get
{
return _marked;
}
}
///
///
void IStateManager.TrackViewState()
{
_marked = true;
((IStateManager)ViewState).TrackViewState();
}
///
///
void IStateManager.LoadViewState(Object state)
{
if (state != null)
{
((IStateManager)ViewState).LoadViewState(state);
}
}
///
///
Object IStateManager.SaveViewState()
{
return ((IStateManager)ViewState).SaveViewState();
}
internal void SetDirty()
{
// VSWHIDBEY 236464. The bag needs to be set dirty not individual items.
_stateBag.SetDirty(true);
/*
foreach (StateItem item in _stateBag.Values)
{
item.IsDirty = true;
}
*/
}
internal void ClearViewState()
{
ViewState.Clear();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Security.Permissions;
namespace System.Web.UI.MobileControls
{
/*
* Object List Field class.
*
* Copyright (c) 2000 Microsoft Corporation
*/
///
[
PersistName("Field")
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
public sealed class ObjectListField : IStateManager
{
private StateBag _stateBag = new StateBag();
private bool _marked;
private PropertyDescriptor _dataFieldDescriptor;
private ObjectList _owner;
private bool _selfReference = false;
///
[
DefaultValue("")
]
public String Name
{
get
{
String s = (String)ViewState["Name"];
return (s == null) ? String.Empty : s;
}
set
{
ViewState["Name"] = value;
}
}
///
[
DefaultValue("")
]
public String DataField
{
get
{
String s = (String)ViewState["DataField"];
return (s == null) ? String.Empty : s;
}
set
{
ViewState["DataField"] = value;
NotifyOwnerChange();
}
}
///
[
DefaultValue("")
]
public String DataFormatString
{
get
{
String s = (String)ViewState["DataFormatString"];
return (s == null) ? String.Empty : s;
}
set
{
ViewState["DataFormatString"] = value;
NotifyOwnerChange();
}
}
///
[
DefaultValue("")
]
public String Title
{
get
{
String s = (String)ViewState["Title"];
return (s == null) ? String.Empty : s;
}
set
{
ViewState["Title"] = value;
}
}
///
[
DefaultValue(true)
]
public bool Visible
{
get
{
Object b = ViewState["Visible"];
return (b == null) ? true : (bool)b;
}
set
{
ViewState["Visible"] = value;
}
}
internal bool SelfReference
{
get
{
return _selfReference;
}
set
{
_selfReference = value;
}
}
internal String UniqueID
{
get
{
Object o = ViewState["Name"];
if (o != null)
{
return (String)o;
}
return (String)ViewState["DataField"];
}
}
private void NotifyOwnerChange()
{
// Only called if databinding behavior of the field changes.
if (_owner != null)
{
_owner.OnFieldChanged(false); // fieldAddedOrRemoved = false;
}
}
private StateBag ViewState
{
get
{
return _stateBag;
}
}
internal void SetOwner(ObjectList owner) {
_owner = owner;
}
///
public void DataBindItem(int fieldIndex, ObjectListItem item)
{
Object dataItem = item.DataItem;
if (dataItem == null)
{
return;
}
if (!SelfReference)
{
String dataField = DataField;
if (dataField.Length == 0)
{
return;
}
_dataFieldDescriptor = TypeDescriptor.GetProperties(dataItem).Find(dataField, true);
if (_dataFieldDescriptor == null && !_owner.MobilePage.DesignMode)
{
throw new Exception(
SR.GetString(SR.ObjectListField_DataFieldNotFound, dataField));
}
}
Object data;
if (_dataFieldDescriptor != null)
{
data = _dataFieldDescriptor.GetValue(dataItem);
}
// Use fake databound text if the datasource is not accessible at designtime.
else if (_owner.MobilePage.DesignMode)
{
data = SR.GetString(SR.ObjectListField_DataBoundText);
}
else
{
Debug.Assert(SelfReference, "Shouldn't get this far if !SelfReference");
data = dataItem;
}
String dataText;
if ((data != null) && (data != System.DBNull.Value))
{
String dataFormatString = DataFormatString;
if (dataFormatString.Length > 0)
{
dataText = String.Format(CultureInfo.InvariantCulture, dataFormatString, data);
}
else
{
dataText = data.ToString();
}
}
else
{
dataText = String.Empty;
}
item[fieldIndex] = dataText;
}
/////////////////////////////////////////////////////////////////////////
// STATE MANAGEMENT
/////////////////////////////////////////////////////////////////////////
///
///
bool IStateManager.IsTrackingViewState
{
get
{
return _marked;
}
}
///
///
void IStateManager.TrackViewState()
{
_marked = true;
((IStateManager)ViewState).TrackViewState();
}
///
///
void IStateManager.LoadViewState(Object state)
{
if (state != null)
{
((IStateManager)ViewState).LoadViewState(state);
}
}
///
///
Object IStateManager.SaveViewState()
{
return ((IStateManager)ViewState).SaveViewState();
}
internal void SetDirty()
{
// VSWHIDBEY 236464. The bag needs to be set dirty not individual items.
_stateBag.SetDirty(true);
/*
foreach (StateItem item in _stateBag.Values)
{
item.IsDirty = true;
}
*/
}
internal void ClearViewState()
{
ViewState.Clear();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DesignTimeVisibleAttribute.cs
- ADConnectionHelper.cs
- ColorTransformHelper.cs
- XmlIterators.cs
- RegionInfo.cs
- WizardStepBase.cs
- RawStylusInputReport.cs
- SQLInt32Storage.cs
- SQLDecimalStorage.cs
- SpeakCompletedEventArgs.cs
- VectorCollectionValueSerializer.cs
- MemberPath.cs
- DataSourceControlBuilder.cs
- ContainsSearchOperator.cs
- Int64KeyFrameCollection.cs
- IPipelineRuntime.cs
- FormsAuthenticationUser.cs
- JournalNavigationScope.cs
- HttpStaticObjectsCollectionBase.cs
- MenuStrip.cs
- TimeZone.cs
- ListenerElementsCollection.cs
- X509CertificateChain.cs
- relpropertyhelper.cs
- QueryOutputWriter.cs
- Types.cs
- RegisteredArrayDeclaration.cs
- SecurityState.cs
- XmlDataSourceDesigner.cs
- WaitForChangedResult.cs
- Timer.cs
- HttpRuntimeSection.cs
- UserNamePasswordValidator.cs
- DateTimeStorage.cs
- IOThreadTimer.cs
- ContentPosition.cs
- TypedElement.cs
- FixedSOMElement.cs
- ImageConverter.cs
- TextMetrics.cs
- CachedTypeface.cs
- SizeChangedEventArgs.cs
- UInt32.cs
- RemotingHelper.cs
- RadioButtonBaseAdapter.cs
- SecurityState.cs
- TextHidden.cs
- InputScopeConverter.cs
- FormViewPageEventArgs.cs
- TypeRestriction.cs
- Function.cs
- MULTI_QI.cs
- WebServiceTypeData.cs
- ComponentConverter.cs
- PropertyDescriptorComparer.cs
- TableRow.cs
- RouteValueExpressionBuilder.cs
- IntPtr.cs
- Roles.cs
- LicenseManager.cs
- _Events.cs
- GeometryConverter.cs
- HuffmanTree.cs
- MonitoringDescriptionAttribute.cs
- ForEachAction.cs
- WhitespaceRule.cs
- recordstatefactory.cs
- Point3DCollectionValueSerializer.cs
- DataContractSet.cs
- UpdatePanelTrigger.cs
- WorkflowInstanceUnhandledExceptionRecord.cs
- mongolianshape.cs
- HandlerElementCollection.cs
- XmlWrappingWriter.cs
- ConfigurationManagerHelperFactory.cs
- BitmapEffectRenderDataResource.cs
- SystemIdentity.cs
- SrgsNameValueTag.cs
- OracleNumber.cs
- SqlWebEventProvider.cs
- SQLStringStorage.cs
- EventProviderBase.cs
- XPathDocument.cs
- DmlSqlGenerator.cs
- BitArray.cs
- StringResourceManager.cs
- EdmValidator.cs
- SerialReceived.cs
- InlineCollection.cs
- ListParaClient.cs
- EmptyElement.cs
- Comparer.cs
- DependencyPropertyDescriptor.cs
- BufferModesCollection.cs
- StatusBar.cs
- ConfigurationStrings.cs
- ConstraintEnumerator.cs
- EntityDesignerDataSourceView.cs
- ProgressBarBrushConverter.cs
- PermissionSet.cs