Object reference not set to an instance of an object.

Posted on 2013-05-22
Last Modified: 2013-06-03
In button click event, I got this error. I am not sure why.
Object reference not set to an instance of an object.

  Dim filename As String
  filename = Me.FileUpload1.PostedFile.FileName
Question by:VBdotnet2005
LVL 23

Expert Comment

by:Ioannis Paraskevopoulos
ID: 39191321

Try the following code:
        filename = CType(Page.FindControl("FileUpload1"), FileUpload).PostedFile.FileName

Open in new window

LVL 12

Accepted Solution

Jitendra Patil earned 500 total points
ID: 39193921

The problem lies in your aspx code.

You need to add a trigger to your update panel as given below
              <asp:PostBackTrigger ControlID="btnUpload" />

view the complete code here
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        <asp:UpdatePanel ID="UpdatePanel_1" runat="server">
                            Upload File
                            <asp:FileUpload ID="FileUpload1" runat="server" Size="100" />&nbsp;&nbsp;
                            <asp:Button ID="btnUpload" runat="server" Text="Upload" />
                            &nbsp;<br />
                            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
                                DataKeyNames="ID" DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="Vertical"
                                HorizontalAlign="Center" Width="100%">
                                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                                            <asp:CheckBox ID="CheckBox1" runat="server" />
                                    <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" SortExpression="CustomerID" />
                                    <asp:TemplateField HeaderText="filename">
                                            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# string.format("test.aspx?={0}", Databinder.Eval(container.Dataitem, "filename")) %>'
                                                Text='<%# Databinder.Eval(container.dataitem, "filename") %>'></asp:HyperLink>
                                    <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" Visible="false" />
                                    <asp:BoundField DataField="map_client" HeaderStyle-HorizontalAlign="Center" HeaderText="Map Columns"
                                        ItemStyle-HorizontalAlign="Center" Visible="true" />
                                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />
                                <EditRowStyle BackColor="#999999" />
                                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                                    <table bgcolor="#5D7B9D" style="width: 100%; border-style: solid; border-width: 1px">
                                            <td style="color: #FFFFFF">
                                                    No Data Found</center>
                            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:myconConnectionString %>"
                                ProviderName="System.Data.SqlClient" SelectCommand="mysp"
                            <asp:Button ID="Button1" runat="server" Text="Button" Visible="False" />
                            <asp:LinkButton ID="LinkButton1" runat="server">Clear</asp:LinkButton>
                            <br />
              <asp:PostBackTrigger ControlID="btnUpload" />
        <asp:UpdateProgress ID="UpdateProgress2" runat="server" AssociatedUpdatePanelID="UpdatePanel_1">
                <div id="progress" align="center" valign="middle" runat="server" style="border-width: thin;
                    border-color: black; position: absolute; left: 0%; top: 4%; visibility: visible;
                    vertical-align: middle; background-color: White; z-index: 40;">
                    <table width="1054px" height="510px">
                                Please wait...<br />
                                <br />
                                <img src="image/test.gif" />

Open in new window

your backend code is working fine.

once you add a trigger to your  update panel you will get the desired result without performing a full postback, it will be a partial post back and you update panel will know that this button needs an action to be done.

hope this helps.

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Today is the age of broadband.  More and more people are going this route determined to experience the web and it’s multitude of services as quickly and painlessly as possible. Coupled with the move to broadband, people are experiencing the web via …
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Sending a Secure fax is easy with eFax Corporate ( First, Just open a new email message.  In the To field, type your recipient's fax number You can even send a secure international fax — just include t…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now