Asked by:
image path not fill to source file upload option on gridview linkbutton click?

Question
-
User-1647172364 posted
hello sir
in my code i want to fill the data from gridview to the source here i want to click on link button to fill the image path to the
source fileupload option but an error occur object reference not set
please execute them
here is my code
cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using System.IO; namespace WebApplication14 { public partial class Test_lang : System.Web.UI.Page { SqlCommand cmd = new SqlCommand(); SqlConnection con = new SqlConnection(); string connection = System.Configuration.ConfigurationManager.AppSettings["con"].ToString(); public void EstablishConnection(string storeprocedure) { con.ConnectionString = connection; cmd.Connection = con; cmd.Connection.Open(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = storeprocedure; } public void CloseConnection() { cmd.Connection.Close(); cmd.Connection.Dispose(); con.Close(); } public void FillGridview() { SqlDataAdapter adp = new SqlDataAdapter("select * from test_lang", connection); adp.SelectCommand.CommandType = CommandType.Text; DataTable DT = new DataTable(); adp.Fill(DT); Gv1.DataSource = DT; Gv1.DataBind(); } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { FillGridview(); BT_update.Visible = false; } } protected void BT_submit_Click(object sender, EventArgs e) { //string filename = Path.GetFileName(fileupload.PostedFile.FileName); //fileupload.SaveAs(Server.MapPath("~/img/" + filename)); if (fileupload.HasFiles) { string fileName = Path.GetFileName(fileupload.PostedFile.FileName); string filePath = "~/img/" + fileName; fileupload.PostedFile.SaveAs(Server.MapPath(filePath)); EstablishConnection("sp_insert_test_lang"); cmd.Parameters.Add("@first_name", SqlDbType.NVarChar, 100).Value = tb_name.Text; cmd.Parameters.Add("@last_name", SqlDbType.NVarChar, 100).Value = tb_last.Text; cmd.Parameters.Add("@Remarks", SqlDbType.VarChar, 100).Value = "1"; cmd.Parameters.Add("@date_time", SqlDbType.VarChar, 100).Value = System.DateTime.Now.ToString(); cmd.Parameters.Add("@Status", SqlDbType.VarChar, 100).Value = "1"; cmd.Parameters.Add("@By_whom", SqlDbType.VarChar, 100).Value = Session["username"].ToString(); cmd.Parameters.Add("@image", SqlDbType.NVarChar, 255).Value = filePath; try { cmd.ExecuteNonQuery(); } catch (Exception ex1) { Response.Write("<script language=javascript>alert('" + ex1.Message.ToString() + ".')</script>"); } CloseConnection(); FillGridview(); } else { EstablishConnection("sp_insert_test_lang1"); cmd.Parameters.Add("@first_name", SqlDbType.NVarChar, 100).Value = tb_name.Text; cmd.Parameters.Add("@last_name", SqlDbType.NVarChar, 100).Value = tb_last.Text; cmd.Parameters.Add("@Remarks", SqlDbType.VarChar, 100).Value = "1"; cmd.Parameters.Add("@date_time", SqlDbType.VarChar, 100).Value = System.DateTime.Now.ToString(); cmd.Parameters.Add("@Status", SqlDbType.VarChar, 100).Value = "1"; cmd.Parameters.Add("@By_whom", SqlDbType.VarChar, 100).Value = Session["username"].ToString(); cmd.Parameters.Add("@image", SqlDbType.NVarChar, 255).Value = "null"; try { cmd.ExecuteNonQuery(); } catch (Exception ex1) { Response.Write("<script language=javascript>alert('" + ex1.Message.ToString() + ".')</script>"); } CloseConnection(); FillGridview(); } } protected void BT_update_Click(object sender, EventArgs e) { string fileName = Path.GetFileName(fileupload.PostedFile.FileName); string filePath = "~/img/" + fileName; fileupload.PostedFile.SaveAs(Server.MapPath(filePath)); EstablishConnection("sp_update_test_lang"); cmd.Parameters.Add("@first_name", SqlDbType.VarChar, 255).Value = tb_name.Text; cmd.Parameters.Add("@last_name", SqlDbType.VarChar, 255).Value = tb_last.Text; cmd.Parameters.Add("@image", SqlDbType.VarChar, 255).Value = filePath; cmd.Parameters.Add("@tbl_id", SqlDbType.VarChar, 255).Value = HiddenField1.Value; try { cmd.ExecuteNonQuery(); } catch (Exception ex1) { Response.Write("<script language=javascript>alert('" + ex1.Message.ToString() + ".')</script>"); } CloseConnection(); FillGridview(); } protected void Gv1_PageIndexChanging(object sender, GridViewPageEventArgs e) { Gv1.PageIndex = e.NewPageIndex; FillGridview(); } protected void Button1_Click(object sender, EventArgs e) { //string fileName = Path.GetFileName(fileupload.PostedFile.FileName); //string filePath = "~/img/" + fileName; //fileupload.PostedFile.SaveAs(Server.MapPath(filePath)); LinkButton btn = (LinkButton)sender; GridViewRow gvr = (GridViewRow)btn.NamingContainer; tb_name.Text = gvr.Cells[0].Text; tb_last.Text = gvr.Cells[1].Text; fileupload.PostedFile.FileName = gvr.Cells[2].Text; HiddenField1.Value = Gv1.DataKeys[gvr.RowIndex].Values[0].ToString(); BT_update.Visible = true; BT_submit.Visible = false; } } } aspx <%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Test lang.aspx.cs" Inherits="WebApplication14.Test_lang" %> <asp:Content ID="Content1" ContentPlaceHolderID="title" runat="server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="head" runat="server"> </asp:Content> <asp:Content ID="Content3" ContentPlaceHolderID="body" runat="server"> <div style="margin-top:30px; margin-left:20px"> <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:HiddenField ID="HiddenField2" runat="server" /> <asp:HiddenField ID="HiddenField1" runat="server" /> <h1><strong style="color:black">Test Language</strong></h1> <hr /> <table> <tr> <td><span style="color:black">First Name</span><br /> <asp:TextBox ID ="tb_name" runat="server" Width="200px" /><br /> </td> <td><span style="margin-left:25px; color:black">Last Name<br /></span> <span style="margin-left:25px"><asp:TextBox ID="tb_last" runat="server" Width="200px" /></span> <br /> </td></tr> <tr> <td> <br /><asp:FileUpload ID="fileupload" runat="server" BackColor="lightblue" /> </td> </tr> <tr> <td><br /> <asp:Button ID="BT_submit" runat="server" Text="Submit" style="border-radius:5px" Height="35px" Width="80px" OnClick="BT_submit_Click" BackColor="#3366CC" BorderColor="#3366CC" ForeColor="White" /> <asp:Button ID="BT_update" runat="server" Text="Update" style="border-radius:5px" Height="35px" Width="80px" OnClick="BT_update_Click" BackColor="#3366CC" BorderColor="#3366CC" ForeColor="White" /> </td> </tr> </table> <asp:GridView runat="server" AutoGenerateColumns="false" ID="Gv1" Width="60%" OnPageIndexChanging="Gv1_PageIndexChanging" AllowPaging="true" PageSize="10" DataKeyNames="tbl_id"> <Columns> <asp:BoundField DataField ="first_name" HeaderText ="First Name" ItemStyle-HorizontalAlign="Center" /> <asp:BoundField DataField ="last_Name" HeaderText ="Last Name" /> <asp:ImageField DataImageUrlField="image" HeaderText="Image" NullDisplayText="No Image" ControlStyle-Height="95" ControlStyle-Width="170" ItemStyle-HorizontalAlign="Center"> </asp:ImageField> <%--<asp:TemplateField> <ItemTemplate> <asp:Image runat="server" ID="img1" ImageUrl='<%# Eval("Image")%>' Width="100" Height="100" /> </ItemTemplate> </asp:TemplateField> --%> <asp:TemplateField> <ItemTemplate> <asp:LinkButton ID="Button1" runat="server" Text="Edit" OnClick="Button1_Click" ></asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> <EditRowStyle BackColor="#2461BF" /> <FooterStyle BackColor="#507CD1" ForeColor="White" Font-Bold="True" /> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> <RowStyle BackColor="#EFF3FB" /> <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> <SortedAscendingCellStyle BackColor="#F5F7FB" /> <SortedAscendingHeaderStyle BackColor="#6D95E1" /> <SortedDescendingCellStyle BackColor="#E9EBEF" /> <SortedDescendingHeaderStyle BackColor="#4870BE" /> </asp:GridView> </ContentTemplate></asp:UpdatePanel> </div> </asp:Content>Tuesday, June 30, 2020 12:02 PM
All replies
-
User1535942433 posted
Hi sanam13,
in my code i want to fill the data from gridview to the source here i want to click on link button to fill the image path to the source fileupload option but an error occur object reference not set
fileupload.PostedFile.FileName = gvr.Cells[2].Text;
Do you have debuged your project?I couln't get your error occur object reference not set.
Besides,fileupload is read only.So,In your code,your highlight sentence is wrong.
I'm guessing that you want to get the image's name or image preview.It's impossible fill data into fileupload in the code-behind.
Best regards,
Yijing Sun
Wednesday, July 1, 2020 3:35 AM