Set Form Enctype (ASP.NET)
This UserControl sets the EncType of the server side form on an ASP.NET page. Useful if you have another UserControl that uploads a file, as it prevents the need to change the parent page EncType (to "multipart/form-data").
Code:
<%@ Control Language="C#" %> <script runat="server"> public string EncType = ""; void Page_Load(object sender, EventArgs e) { SetEncType(EncType); } protected void SetEncType(string EncType) { // continue if enctype is valid if(EncType=="text/plain" || EncType=="multipart/form-data" || EncType=="application/x-www-form-urlencoded") { Control container = this.Parent; while( container.GetType() != typeof(UserControl) && container.GetType() != typeof(HtmlForm) && container.GetType() != typeof(Page) ) { container = container.Parent; } HtmlForm form = container as HtmlForm; if ( form != null) { form.Enctype = EncType; } } } </script>
Example use:
Register tag: <%@ Register TagPrefix="Form" TagName="EncType" Src="formenc.ascx" %>
. Add at start of UserControl page: <Form:EncType EncType="multipart/form-data" runat="server" />
Comments