locked
image path not fill to source file upload option on gridview linkbutton click? RRS feed

  • 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