Ajax Toolkit AsyncFileUpload Not Working Inside Normal Panel
Aug 24, 2010
Referring to the following: Ajax Asyncfileupload doesn't work as soon as I put it in a control I am having the same issue. I am not using a Master page though. I have an AsyncFileUpload control in a Panel, within an update panel.
View 1 Replies
Jul 25, 2010
I have a FormView inside a user control, and in the InsertItemTemplate, I have an AsyncFileUpload control, that I would like to to use. On the user side, it seems to work, but it doesn't work on the server side code behind. The HasFile Property is always false, and it doesn't fire the UploadCompleted event either. My UpdatePanel is in the master page.
<asp:FormView
ID="frmAddImage"
runat="server"
DataKeyNames="imageID"
DataSourceID="sqlImages"
Width="100%">
<InsertItemTemplate>
<cc1:AsyncFileUpload
runat="server"
ID="FileUploadImage"
Width="400px"
UploaderStyle="Traditional"
CompleteBackColor="Lime"
ErrorBackColor="Red"
onuploadedcomplete="AsyncFileUpload_UploadedComplete"
UploadingBackColor="#CCFFFF"
/>
View 6 Replies
Feb 22, 2010
I'm trying to use the AsyncFileUpload control from the Asp.net Ajax Control Toolkit (Sept 30, 2009 stable build: 30930) . I've created a demo application and the control works fine. Files upload and all is well. When I try to use the control in my real application, I'm always receiving an error stating "The file attached is invalid". The AsyncFileUpload control returns this when the file uploaded is null.
To isolate the problem, I created a new master page exactly like the master page in my demo app. I also created an aspx page exactly like the page in my demo app. The upload still fails with a "The file attached is invalid" error. I also compared the web.config for the real app and the demo app and couldn't identify any differences that should matter. The code below is the test code in my real app. This code is exactly the same as the functioning code in the demo app with the exception of having different class names and file names. The web.config listed below is from the real app with the appsettings and connectionstrings removed. Real App Test Master Page:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="aaaMasterPage.master.cs" Inherits="L1Admin.aaaMasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="scriptManager" EnablePartialRendering="true" runat="server" AsyncPostBackTimeout="180" />
<div>
<asp:ContentPlaceHolder id="content" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
Test Page:
<%@ Page Language="C#" MasterPageFile="~/aaaMasterPage.master" AutoEventWireup="true" CodeFile="aaaFileUploadTest2.aspx.cs" Inherits="aaaFileUploadTest2" Title="Untitled Page" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<script type="text/javascript">
function pageLoad(sender, args) {
}
function startUpload(sender,args)
{
$('#uploadMessage p').html();
$('#uploadMessage').hide();
}
function uploadComplete(sender,args)
{
showUploadMessage(args.get_fileName() + " uploaded succesfully - " + + args.get_length() + " bytes", '');
}
function uploadError(sender, args)
{
showUploadMessage("An error occurred during uploading. " + args.get_errorMessage(), '#ff0000');
}
function showUploadMessage(text, color)
{
$('#uploadMessage p').html(text).css('color', color);
$('#uploadMessage').show();
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="content" Runat="Server">
<div id="uploadMessage"><p></p></div>
<ajax:AsyncFileUpload ID="pageBannerUpload"
CssClass="file_upload"
OnClientUploadError="uploadError"
OnClientUploadStarted="startUpload"
OnClientUploadComplete="uploadComplete"
onuploadedcomplete="upload_UploadedComplete"
runat="server" />
</asp:Content>
Real App Test Page Code Behind:
using System;
using System.IO;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class aaaFileUploadTest2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void upload_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
if (pageBannerUpload.HasFile)
{
string path = MapPath("~/") + Path.GetFileName(e.filename);
pageBannerUpload.SaveAs(path);
}
}
}
Real App Test Web.config:
<?xml version="1.0"?>
<!--
Note: As an alternative to hand editing this file you can use the
web admin tool to configure settings for your application. Use
the Website->Asp.Net Configuration option in Visual Studio.
A full list of settings and comments can be found in
machine.config.comments usually located in
WindowsMicrosoft.NetFrameworkv2.xConfig
-->
<configuration>
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
</configSections>
<appSettings>
</appSettings>
<connectionStrings>
</connectionStrings>
<system.web>
<!--
Set compilation debug="true" to insert debugging
symbols into the compiled page. Because this
affects performance, set this value to true only
during development.
-->
<compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
<codeSubDirectories>
<add directoryName="CSCode"/>
<add directoryName="VBCode"/>
</codeSubDirectories>
</compilation>
<!--
The <authentication> section enables configuration
of the security authentication mode used by
ASP.NET to identify an incoming user.
-->
<authentication mode="Windows"/>
<!--
The <customErrors> section enables configuration
of what to do if/when an unhandled error occurs
during the execution of a request. Specifically,
it enables developers to configure html error pages
to be displayed in place of a error stack trace.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="Annsa" namespace="Annsa.Controls" assembly="Annsa.Controls"/>
</controls>
<namespaces>
<add namespace="Microsoft.VisualBasic"/>
<add namespace="System.Data"/>
<add namespace="System.Drawing"/>
</namespaces>
</pages>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
<identity impersonate="true"/>
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true"/>
<!-- SESSION STATE SETTINGS
mode="Off|InProc|StateServer|SqlServer"
By default ASP.NET uses cookies to identify which requests belong to a particular session.
If cookies are not available, a session can be tracked by adding a session identifier to the URL.
To disable cookies, set sessionState cookieless="true".
-->
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="false" timeout="20"/>
<!-- GLOBALIZATION
This section sets the globalization settings of the application.
-->
<xhtmlConformance mode="Legacy"/>
</system.web>
<location path="Pages">
<system.web>
<xhtmlConformance mode="Transitional"></xhtmlConformance>
</system.web>
</location>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="OptionInfer" value="true"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
</compilers>
</system.codedom>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
<remove name="ScriptResource"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
View 3 Replies
Aug 18, 2010
I have an asyncfileupload control within a panel control. The panel is initially set to visible=false on page load. After a user clicks a button to display the panel contents however, I set the panel to visible and the user can then use the asyncfileupload. The problem however, is it seems much of the javascript associated with the asyncfileupload, does not function properly when the panel containing the upload control is set from invisible to visible. If I set my panel's "visible" property to "true" initially, then it works fine. My javascript error message is as follows:
"Form contains a file input, but is missing method=POST and enctype=multipart/form-data on the form. The file will not be sent."
Basically within my asyncfileupload control, I have the following line:
[Code]....
In this scenario, my "args" variable is always null (when I set my pane's "visible" property to "true" on page load, the args variable DOES contain data. Any idea why switching a panel from visible=false to visible=true, would cause an error like this?
View 2 Replies
Feb 3, 2010
I have built a custom Ajax User Control which uses the AsyncFileUpload control released with the latest Ajax Toolkit.
On my local machine the application works fine without error, however if I deploy the app onto my web server the functionality breaks.
I am trying to add a file via the AsyncFileUpload control, save it to the web server, then save some details into a datatable which is displayed in a gridview. All of this sits in an update panel.
When uploading small files (under 55kbs) the process works fine, however when uploading larger files, it doesn't like it. The control uploads the file successfully to it (the client error is not triggered), but it breaks when I try to save it to the web server. Upon saving, the document saves OK, but all the data is stripped away. It just saves the filename with no content. It looks like the AsyncFileUpload control has lost the File in session, therefore cannot save it. However the AsysncFileUpload.filename still exists and AsyncFileUpload.HasFile is returning true.
Has anyone seen anything like this before or have any ideas why this could be happening? I have set the web config httpRuntime maxRequestLength = 20480, so it shouldnt be that.
See code:
[code]....
View 2 Replies
Sep 8, 2010
i AsyncFileUpload this is working fine in my local server but when i upload the files into my hosting server no file is uploading. this is my code to save the file.
Protected Sub tbnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles tbnSave.Click
Dim cmd As New MySqlCommand
Dim cn As New MySqlConnection
cn.ConnectionString = "server=localhost;User Id=root; password=papidm;database=jis;Persist Security Info=True"
cn.Open()
cmd.Connection = cn
cmd.CommandType = System.Data.CommandType.Text
cmd.CommandText = "Insert into PhotoAlbum (Photo,PhotoName,Descr,AlbumId) values (@Photo,@PhotoName,@Descr,@AlbumID)"
cmd.Parameters.Add(New MySqlParameter("@Photo", "~/images/" + txtFileName.Text + ".jpg"))
cmd.Parameters.Add(New MySqlParameter("@PhotoName", txtFileName.Text))
cmd.Parameters.Add(New MySqlParameter("@Descr", TextBox2.Text))
cmd.Parameters.Add(New MySqlParameter("@AlbumID", ddlArchive.SelectedValue))
cmd.ExecuteNonQuery()
fileName = MapPath("~/images/") + txtFileName.Text + ".jpg"
AsyncFileUpload1.SaveAs(fileName)
End Sub
View 3 Replies