Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将文件从Gridview上载到数据库asp.net_C#_Asp.net_Gridview_File Upload - Fatal编程技术网

C# 将文件从Gridview上载到数据库asp.net

C# 将文件从Gridview上载到数据库asp.net,c#,asp.net,gridview,file-upload,C#,Asp.net,Gridview,File Upload,Grid view具有文件上载功能,可将图像上载到SQL Server数据库。但是,在控制文件上载实体时,它给出了一个错误“对象引用未设置为对象的实例” 请帮助我找到问题,或者给我一些方法来实现将图像从网格视图上传到数据库的问题 代码文件 if (e.CommandName == "upload") { string status = ""; Button bt = (Button)e.CommandSo

Grid view具有文件上载功能,可将图像上载到SQL Server数据库。但是,在控制文件上载实体时,它给出了一个错误“对象引用未设置为对象的实例” 请帮助我找到问题,或者给我一些方法来实现将图像从网格视图上传到数据库的问题

代码文件

if (e.CommandName == "upload")

            {
                string status = "";

                Button bt = (Button)e.CommandSource;
                GridViewRow grdRow = (GridViewRow)bt.Parent.Parent;
                TextBox amount = (TextBox)grdRow.Cells[0].FindControl("txtAmount");
                FileUpload doc = (FileUpload)grdRow.Cells[0].FindControl("passbookUpload");
                // FileUpload doc = (FileUpload)grdRow.Cells[0].FindControl("FileUpload");
                Label UdiseCode = (Label)grdRow.Cells[0].FindControl("lblUdiseCode");
                Label Remaining = (Label)grdRow.Cells[0].FindControl("lblremainingName");


                if (string.IsNullOrEmpty(amount.Text.Trim())
                    || string.IsNullOrEmpty(doc.ToString())
                 )
                {

                    amount.BorderColor = System.Drawing.Color.Red;
                    doc.BorderColor = System.Drawing.Color.Red;


                    //  box8.BorderColor = System.Drawing.Color.Red;
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('abc')", true);

                    return;
                }
                else
                {

                    string filename = Path.GetFileName(doc.PostedFile.FileName);
                    string fileExtension = Path.GetExtension(filename);
                    int fileSize = doc.PostedFile.ContentLength;

                    if (!(fileExtension.ToLower() == ".png") || (fileExtension.ToLower() == ".jpeg")
                   || (fileExtension.ToLower() == ".bmp") || (fileExtension.ToLower() == ".gif")
                     || (fileExtension.ToLower() == ""))
                    {
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('abc2|')", true);
                        doc.BorderColor = System.Drawing.Color.Red;
                        return;
                    }
                    Stream stream = doc.PostedFile.InputStream;
                    BinaryReader binaryReader = new BinaryReader(stream);
                    Byte[] imageData = binaryReader.ReadBytes((int)stream.Length);
                    DL_Reimbursement.SaveReimbursementAmount(ddlSession.SelectedValue.ToString(), ddldistrict.SelectedValue.ToString(), ddlBlock.SelectedValue.ToString(), UdiseCode.ToString(), Convert.ToInt32(Remaining), Convert.ToInt32(amount), imageData, out status);
                    if (status == "INS")
                    {
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('abc3')", true);

                    }
                    else
                    {
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('कृपया डाटा को जांच ले तथा दोबारा प्रयास करे!|')", true);
                    }

                }
}
网格的aspx文件

 <asp:GridView ID="gvFetchRecords" runat="server" AutoGenerateColumns="False" HeaderStyle-Font-Bold="true" OnRowDataBound="gvFetchRecords_RowDataBound" OnRowCommand="GVBankAccDetails_RowCommand"
                                EmptyDataText="No Report Detail(s) were found !" PageSize="1000" AllowPaging="true">
                                <Columns>

                                    <asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" FooterStyle-HorizontalAlign="Center">
                                        <ItemTemplate>
                                            <%#Container.DataItemIndex +1 %>
                                        </ItemTemplate>
                                    </asp:TemplateField>

                                     <asp:TemplateField HeaderText="Udise Code" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                        <ItemTemplate>
                                            <asp:Label ID="lblUdiseCode" runat="server" Text='<%#Eval("Udise_Code") %>'></asp:Label>
                                        </ItemTemplate>

                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="School Name" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                        <ItemTemplate>
                                            <asp:Label ID="lblUdiseName" runat="server" Text='<%#Eval("School_Name") %>'></asp:Label>
                                        </ItemTemplate>

                                    </asp:TemplateField>
                                     <asp:TemplateField HeaderText="baaki rashi" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                        <ItemTemplate>
                                            <asp:Label ID="lblremainingName" runat="server" Text='<%#Eval("Remaining") %>'></asp:Label>
                                        </ItemTemplate>

                                    </asp:TemplateField>

                                     <asp:TemplateField HeaderText="Rashi added" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                                <asp:TextBox ID="txtAmount" runat="server" Style="Width: 130px;"></asp:TextBox>
                                            </ItemTemplate>

                                        </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Document Upload" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                            <ItemTemplate>

                                               <asp:FileUpload ID="passbookUpload" runat="server"></asp:FileUpload>
                                            </ItemTemplate>

                                        </asp:TemplateField>

                                      <asp:TemplateField HeaderText="सुरक्षित करे" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                                <asp:Button ID="btnSave" runat="server" CssClass="govBtnS" Text="सुरक्षित करे" CommandName="upload" Style="Width: 100px;" />
                                            </ItemTemplate>

                                        </asp:TemplateField>
                                     <asp:TemplateField HeaderText="डाउनलोड करे" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                        <ItemTemplate>
                                            <asp:LinkButton ID="lblDownload" runat="server" Text="डाउनलोड करे" CommandName="download" ></asp:LinkButton>
                                        </ItemTemplate>
                                    </asp:TemplateField>

                                      <asp:TemplateField HeaderText="Status" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                              <asp:Label ID="lblStatus" runat="server" Text='<%#Eval("IsUpdated") %>' Visible="false"></asp:Label>
                                                <asp:Image ID="gvImage" runat="server" />
                                            </ItemTemplate>

                                        </asp:TemplateField>

                                    </Columns>
                                </asp:GridView>


尝试更改文件上载ID的名称。有时可能会产生问题

您调试代码了吗?代码中的哪一行引发异常?字符串filename=Path.GetFileName(doc.PostedFile.filename);这一行抛出了一个错误。调试此行时:FileUpload doc=(FileUpload)grdRow.Cells[0].FindControl(“passbookUpload”);它也没有显示任何内容,可能是控制问题。剩余变量获取相应的值expect file upload type variable
FileUpload doc=(FileUpload)grdRow.Cells[0]。FindControl(“passbookUpload”)
将抛出错误,因为
passbookUpload
不在
单元格[0]
中。我想它在
单元格[5]
中。这样你也需要检查其他控件。。。您正在对所有控件使用
单元格[0]
。。。但并非所有这些都在
单元格[0]
中。您需要使用适当的单元格索引器来获取适当的控件。我还将其更改为单元格[5],但它仍然显示相同的错误