Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / UI / HtmlControls / HtmlInputFile.cs / 1 / HtmlInputFile.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * HtmlInputFile.cs * * Copyright (c) 2000 Microsoft Corporation */ namespace System.Web.UI.HtmlControls { using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.Globalization; using System.Web; using System.Web.UI; using System.Security.Permissions; ////// [ ValidationProperty("Value") ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class HtmlInputFile : HtmlInputControl, IPostBackDataHandler { /* * Creates an intrinsic Html INPUT type=file control. */ ////// The ///class defines the /// methods, properties, and events for the control. This class allows /// programmatic access to the HTML <input type= file> element on the server. /// It provides access to the stream, as well as a useful SaveAs functionality /// provided by the /// property. /// /// This class only works if the /// HtmlForm.Enctype property is set to "multipart/form-data". /// Also, it does not maintain its /// state across multiple round trips between browser and server. If the user sets /// this value after a round trip, the value is lost. /// ////// public HtmlInputFile() : base("file") { } /* * Accept type property. */ ///Initializes a new instance of the ///class. /// [ WebCategory("Behavior"), DefaultValue(""), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public string Accept { get { string s = Attributes["accept"]; return((s != null) ? s : String.Empty); } set { Attributes["accept"] = MapStringAttributeToString(value); } } /* * The property for the maximum characters allowed. */ ////// Gets /// or sets a comma-separated list of MIME encodings that /// can be used to constrain the file types that the browser lets the user /// select. For example, to restrict the /// selection to images, the accept value image/* should be specified. /// ////// [ WebCategory("Behavior"), DefaultValue(""), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public int MaxLength { get { string s = Attributes["maxlength"]; return((s != null) ? Int32.Parse(s, CultureInfo.InvariantCulture) : -1); } set { Attributes["maxlength"] = MapIntegerAttributeToString(value); } } /* * PostedFile property. */ ////// Gets or sets the /// maximum length of the file path of the file to upload /// from the client machine. /// ////// [ WebCategory("Default"), DefaultValue(""), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public HttpPostedFile PostedFile { get { return Context.Request.Files[RenderedNameAttribute];} } /* * The property for the width in characters. */ ///Gets access to the uploaded file specified by a client. ////// [ WebCategory("Appearance"), DefaultValue(-1), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public int Size { get { string s = Attributes["size"]; return((s != null) ? Int32.Parse(s, CultureInfo.InvariantCulture) : -1); } set { Attributes["size"] = MapIntegerAttributeToString(value); } } // ASURT 122262 : The value property isn't submitted back to us when the a page // containing this control postsback, so required field validators are broken // (value would contain the empty string). To fix this, we return the filename. [ Browsable(false) ] public override string Value { get { HttpPostedFile postedFile = PostedFile; if (postedFile != null) { return postedFile.FileName; } return String.Empty; } set { // Throw here because setting the value on this tag has no effect on the // rendering behavior and since we're always returning the posted file's // filename, we don't want to get into a situation where the user // sets a value and does not get back that value. throw new NotSupportedException(SR.GetString(SR.Value_Set_Not_Supported, this.GetType().Name)); } } /* * Method of IPostBackDataHandler interface to process posted data. */ ///Gets or sets the width of the file-path text box that the /// browser displays when the ////// control is used on a page. bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection) { return LoadPostData(postDataKey, postCollection); } protected virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection) { return false; } /* * Method of IPostBackDataHandler interface which is invoked whenever * posted data for a control has changed. RadioButton fires an * OnServerChange event. */ /// void IPostBackDataHandler.RaisePostDataChangedEvent() { RaisePostDataChangedEvent(); } protected virtual void RaisePostDataChangedEvent() { } /// /// protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); // ASURT 35328: use multipart encoding if no encoding is currently specified HtmlForm form = Page.Form; if (form != null && form.Enctype.Length == 0) { form.Enctype = "multipart/form-data"; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //Raises the ///event. This method uses event arguments /// to pass the event data to the control. // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * HtmlInputFile.cs * * Copyright (c) 2000 Microsoft Corporation */ namespace System.Web.UI.HtmlControls { using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.Globalization; using System.Web; using System.Web.UI; using System.Security.Permissions; ////// [ ValidationProperty("Value") ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class HtmlInputFile : HtmlInputControl, IPostBackDataHandler { /* * Creates an intrinsic Html INPUT type=file control. */ ////// The ///class defines the /// methods, properties, and events for the control. This class allows /// programmatic access to the HTML <input type= file> element on the server. /// It provides access to the stream, as well as a useful SaveAs functionality /// provided by the /// property. /// /// This class only works if the /// HtmlForm.Enctype property is set to "multipart/form-data". /// Also, it does not maintain its /// state across multiple round trips between browser and server. If the user sets /// this value after a round trip, the value is lost. /// ////// public HtmlInputFile() : base("file") { } /* * Accept type property. */ ///Initializes a new instance of the ///class. /// [ WebCategory("Behavior"), DefaultValue(""), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public string Accept { get { string s = Attributes["accept"]; return((s != null) ? s : String.Empty); } set { Attributes["accept"] = MapStringAttributeToString(value); } } /* * The property for the maximum characters allowed. */ ////// Gets /// or sets a comma-separated list of MIME encodings that /// can be used to constrain the file types that the browser lets the user /// select. For example, to restrict the /// selection to images, the accept value image/* should be specified. /// ////// [ WebCategory("Behavior"), DefaultValue(""), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public int MaxLength { get { string s = Attributes["maxlength"]; return((s != null) ? Int32.Parse(s, CultureInfo.InvariantCulture) : -1); } set { Attributes["maxlength"] = MapIntegerAttributeToString(value); } } /* * PostedFile property. */ ////// Gets or sets the /// maximum length of the file path of the file to upload /// from the client machine. /// ////// [ WebCategory("Default"), DefaultValue(""), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public HttpPostedFile PostedFile { get { return Context.Request.Files[RenderedNameAttribute];} } /* * The property for the width in characters. */ ///Gets access to the uploaded file specified by a client. ////// [ WebCategory("Appearance"), DefaultValue(-1), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public int Size { get { string s = Attributes["size"]; return((s != null) ? Int32.Parse(s, CultureInfo.InvariantCulture) : -1); } set { Attributes["size"] = MapIntegerAttributeToString(value); } } // ASURT 122262 : The value property isn't submitted back to us when the a page // containing this control postsback, so required field validators are broken // (value would contain the empty string). To fix this, we return the filename. [ Browsable(false) ] public override string Value { get { HttpPostedFile postedFile = PostedFile; if (postedFile != null) { return postedFile.FileName; } return String.Empty; } set { // Throw here because setting the value on this tag has no effect on the // rendering behavior and since we're always returning the posted file's // filename, we don't want to get into a situation where the user // sets a value and does not get back that value. throw new NotSupportedException(SR.GetString(SR.Value_Set_Not_Supported, this.GetType().Name)); } } /* * Method of IPostBackDataHandler interface to process posted data. */ ///Gets or sets the width of the file-path text box that the /// browser displays when the ////// control is used on a page. bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection) { return LoadPostData(postDataKey, postCollection); } protected virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection) { return false; } /* * Method of IPostBackDataHandler interface which is invoked whenever * posted data for a control has changed. RadioButton fires an * OnServerChange event. */ /// void IPostBackDataHandler.RaisePostDataChangedEvent() { RaisePostDataChangedEvent(); } protected virtual void RaisePostDataChangedEvent() { } /// /// protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); // ASURT 35328: use multipart encoding if no encoding is currently specified HtmlForm form = Page.Form; if (form != null && form.Enctype.Length == 0) { form.Enctype = "multipart/form-data"; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.Raises the ///event. This method uses event arguments /// to pass the event data to the control.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ExpressionConverter.cs
- ClickablePoint.cs
- ConfigurationErrorsException.cs
- AnonymousIdentificationModule.cs
- CryptoApi.cs
- securitymgrsite.cs
- ActivityInterfaces.cs
- XmlSchemaSearchPattern.cs
- NeutralResourcesLanguageAttribute.cs
- CachedPathData.cs
- PersonalizationProviderHelper.cs
- FatalException.cs
- TransformValueSerializer.cs
- ValidationVisibilityAttribute.cs
- Activity.cs
- TdsEnums.cs
- TreeViewEvent.cs
- DataGridViewSelectedCellCollection.cs
- DataGridViewTextBoxColumn.cs
- OdbcConnectionFactory.cs
- CopyCodeAction.cs
- PrinterSettings.cs
- CodeNamespaceImportCollection.cs
- HandlerMappingMemo.cs
- RequiredFieldValidator.cs
- CodeGenerator.cs
- XdrBuilder.cs
- TypedDataSourceCodeGenerator.cs
- OleDbErrorCollection.cs
- ResourceReader.cs
- WhitespaceRule.cs
- Point3DCollectionConverter.cs
- Polygon.cs
- __ConsoleStream.cs
- hwndwrapper.cs
- EntityCollectionChangedParams.cs
- FormClosedEvent.cs
- XmlSchemaObjectCollection.cs
- VirtualPathUtility.cs
- BindValidator.cs
- StackBuilderSink.cs
- StateMachineExecutionState.cs
- CorrelationTokenTypeConvertor.cs
- Select.cs
- TableCellAutomationPeer.cs
- OutputWindow.cs
- FrugalMap.cs
- CreateUserWizard.cs
- ObjectToken.cs
- AlphabetConverter.cs
- LogRestartAreaEnumerator.cs
- XmlChoiceIdentifierAttribute.cs
- MdiWindowListItemConverter.cs
- DispatcherEventArgs.cs
- KeyProperty.cs
- ConsoleKeyInfo.cs
- VirtualPath.cs
- SingleQueryOperator.cs
- CachedBitmap.cs
- EncodingNLS.cs
- DataControlFieldCollection.cs
- DataRecordObjectView.cs
- Geometry.cs
- SlotInfo.cs
- FieldNameLookup.cs
- MimeTypeMapper.cs
- DirtyTextRange.cs
- IEnumerable.cs
- StoreContentChangedEventArgs.cs
- EncryptedKey.cs
- FontStretch.cs
- TreeView.cs
- DataObject.cs
- ProgressBar.cs
- SByte.cs
- PngBitmapDecoder.cs
- AnimationLayer.cs
- ButtonStandardAdapter.cs
- OdbcFactory.cs
- QilDataSource.cs
- DispatcherEventArgs.cs
- DesigntimeLicenseContext.cs
- ControlDesigner.cs
- UInt32Storage.cs
- _SafeNetHandles.cs
- RemotingAttributes.cs
- PanelDesigner.cs
- StopRoutingHandler.cs
- RegexNode.cs
- ISAPIWorkerRequest.cs
- Fonts.cs
- TrustLevelCollection.cs
- Baml6Assembly.cs
- DataGridCaption.cs
- WindowsGraphicsWrapper.cs
- MissingFieldException.cs
- BaseCodePageEncoding.cs
- DataGridViewSelectedRowCollection.cs
- HttpWriter.cs
- ExpressionBindingCollection.cs