how to get the FileUploadField fullpath in code behind use it's ID ??

  1. #1

    how to get the FileUploadField fullpath in code behind use it's ID ??

    How to get the FileUploadField fullpath in code behind use it's ID ,I take "
    X.GetCmp<FileUploadField>(ID).HasFile
    " is always null !

    In code behind ,I dynamic create FileUploadField :

    Ext.Net.Container lv_Container = new Container();
                    lv_Container.ID = "conIportWedge";
                    lv_Container.Layout = "FormLayout";
                    lv_Container.Set("container", "100%");
                    lv_Container.X = 0;
                    lv_Container.Y = numY;
                    lv_Container.Width = Unit.Parse("380px");
                    lv_Container.LabelAlign = LabelAlign.Right;
                    Ext.Net.FileUploadField lv_ButJPG = new FileUploadField(); 
                    lv_ButJPG.ID = "testFileUpload";               
    
                    lv_ButJPG.Icon =Icon.ImageAdd;
                    lv_ButJPG.EmptyText = "Select an Image";
                    lv_ButJPG.LabelAlign = LabelAlign.Right;
                    lv_ButJPG.FieldLabel = "Test";
    
                    lv_ButJPG.Listeners.FileSelected.Handler = "Ext.net.DirectMethods.GetImage('"+lv_ButJPG.ID+"');";                
                    lv_Container.Items.Add(lv_ButJPG);
                    this.pnDataItemInfo.Items.Add(lv_Container);
    at DirectMethods :

    [DirectMethod]
            public void GetImage(string v_FileUploadID)
            {
                if (X.GetCmp<FileUploadField>(v_FileUploadID).HasFile)
                {                
                    string lv_ImageName = string.Empty;
                    if (X.GetCmp<FileUploadField>(v_FileUploadID).PostedFile != null &&
                        X.GetCmp<FileUploadField>(v_FileUploadID).PostedFile.ContentLength > 0)
                    {
                        lv_ImageName = X.GetCmp<FileUploadField>(v_FileUploadID).PostedFile.FileName;
                    }
                }
            }
    So ,in this way , I get result :
    X.GetCmp<FileUploadField>(v_FileUploadID).HasFile  is   "false"
         X.GetCmp<FileUploadField>(v_FileUploadID).PostedFile = null
    Please help me ,how t o get the FileUploadField selected file path use it's ID ,because i create dynamic at code behind / server side!!
    I tried if create at clint side ,this. IDName.hasFile and this .IDName .PostedFile is OK !
    Last edited by Daniil; Jan 12, 2012 at 5:54 AM. Reason: Please use [CODE] tags
  2. #2
    Hi,

    Confirmed, X.GetCmp() doesn't work with a FileUploadField.

    Please get a file directly from a request.

    Example
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void RenderFileUploadField(object sender, DirectEventArgs e)
        {
            FileUploadField fileUploadField = new FileUploadField()
                {
                    ID = "FileUploadField1",
                    Width = 300,
                    Listeners =
                    {
                        FileSelected =
                        {
                            Handler = @"Ext.net.DirectMethods.GetFileName(this.id, {
                                            isUpload : true
                                        });"
                        }
                    }
                };
            this.Form.Controls.Add(fileUploadField);
            fileUploadField.Render();
        }
    
        [DirectMethod]
        public void GetFileName(string id)
        {
            string fileInPost = id + "-file";
            HttpPostedFile file = this.Request.Files[fileInPost];
            X.Msg.Alert("FileName", file.FileName).Show();
        }
    </script>
    
    <!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>Ext.NET Example</title>
    </head>
    <body>
        <form id="form1" runat="server">
            <ext:ResourceManager runat="server" />
            <ext:Button 
                runat="server" 
                Text="Create a FileUploadField" 
                OnDirectClick="RenderFileUploadField" />
        </form>
    </body>
    </html>
    Last edited by Daniil; Feb 11, 2013 at 5:16 AM.
  3. #3
    TKS ,take it success!

    Please CLOSE it !! TKS again!
  4. #4
    Quote Originally Posted by Daniil View Post
    Confirmed, X.GetCmp() doesn't work with a FileUploadField.
    It works with Ext.NET v2.

    Example
    <%@ Page Language="C#" %>
     
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
     
    <script runat="server">
        protected void RenderFileUploadField(object sender, DirectEventArgs e)
        {
            FileUploadField fileUploadField = new FileUploadField()
                {
                    ID = "FileUploadField1",
                    Width = 300,
                    Listeners =
                    {
                        Change =
                        {
                            Handler = @"App.direct.GetFileName(this.id, {
                                            isUpload : true
                                        });"
                        }
                    }
                };
            this.Form.Controls.Add(fileUploadField);
            fileUploadField.Render();
        }
     
        [DirectMethod]
        public void GetFileName(string id)
        {
            X.Msg.Alert("FileName", X.GetCmp<FileUploadField>("FileUploadField1").PostedFile.FileName).Show();
        }
    </script>
     
    <!DOCTYPE html>
    <html>
    <head runat="server">
        <title>Ext.NET v2 Example</title>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
            <ext:Button
                runat="server"
                Text="Create a FileUploadField"
                OnDirectClick="RenderFileUploadField" />
        </form>
    </body>
    </html>

Similar Threads

  1. Replies: 2
    Last Post: Feb 01, 2012, 6:56 AM
  2. Set FileUploadField.FileName in code behind
    By mkshields9w57 in forum 1.x Help
    Replies: 3
    Last Post: Sep 13, 2011, 6:30 PM
  3. Replies: 1
    Last Post: Aug 23, 2011, 7:09 PM
  4. Replies: 1
    Last Post: Jul 07, 2011, 8:34 PM
  5. Convert FormPanel from Html-Code to VB.Net Code
    By stephan1985 in forum 1.x Help
    Replies: 1
    Last Post: Jan 27, 2010, 3:47 PM

Tags for this Thread

Posting Permissions