ASP.NET上载的图像路径不显示在gridview中

时间:2016-06-07 11:27:36

标签: c# jquery asp.net gridview

Path Modal Popup uploader

我是ASP.NET的初学者,我使用Ajax Modal Popup开发网格视图中的文件上传它的工作我可以上传图像,我可以在上传的文件夹中看到上传的图像,但我不能使上传的图片网格视图的路径,可以帮助我。

ASPX

                             <asp:UpdatePanel ID="UpdatePanelArt" runat="server" UpdateMode="Conditional">
                                 <ContentTemplate>
                                          <div class="table-responsive col-sm-12">

                    <asp:GridView ID="gvArticle" ShowHeaderWhenEmpty="True" ClientIDMode="AutoID" CssClass="table table-bordered table-condensed table-hover" AutoGenerateColumns="False" runat="server" AllowPaging="True" PageSize="15" OnRowDataBound="gvArticle_RowDataBound" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Horizontal" OnRowUpdating="gvArticle_RowUpdating">
                                                 <%--<HeaderStyle BackColor="#3d4247" ForeColor="White" />--%>
                                                            <Columns>
                                                                <asp:TemplateField HeaderText="intArticleDetail" Visible="false">
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblArticleDetailId" Width="2" Text='<%# Bind("intArticleDetailId") %>' ClientIDMode="Static" runat="server"></asp:Label> 
                                                                    </ItemTemplate>
                                                                </asp:TemplateField> 

                                                                <asp:TemplateField HeaderText="SectionID" Visible="false">
                                                                     <ItemTemplate>
                                                                        <asp:Label ID="lblSectionId" Width="2" Text='<%# Bind("intSectionId") %>' ClientIDMode="Static" runat="server"></asp:Label> 
                                                                     </ItemTemplate>
                                                                </asp:TemplateField>                                                        

                                                                <asp:TemplateField HeaderText="Section">
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblSectionName" Width="100"  Text='<%# Bind("strSectionName") %>' ClientIDMode="Static" runat="server"></asp:Label> 
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>  
                                                                <asp:TemplateField HeaderText="Compound">
                                                                        <EditItemTemplate>
                                                                            <asp:Label ID="lblItemTypeEdit" Width="50" Text='<%# Bind("strCompoundName") %>' lientIDMode="Static" AutoPostBack="true" runat="server">                                                                               
                                                                            </asp:Label>
                                                                        </EditItemTemplate>

                                                                        <ItemTemplate>
                                                                            <asp:DropDownList ID="ddlCompoundId" Width="200" CssClass="form-control my-DropDownThin" lientIDMode="Static" AutoPostBack="true" runat="server">                                                                               
                                                                            </asp:DropDownList>
                                                                        </ItemTemplate>
                                                                 </asp:TemplateField>


                                                                <asp:TemplateField HeaderText="Weight">
                                                                    <ItemTemplate>
                                                                        <asp:TextBox ID="txtdecSectionWeighte" Width="100%" Text='<%# Bind("decSectionWeight") %>' lientIDMode="Static" runat="server">  </asp:TextBox>                                                                            
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>

                                                                <%--<asp:TemplateField HeaderText="Messagers">                                                                
                                                                    <ItemTemplate>
                                                                        <asp:TextBox ID="txtMessage" Width="100%" Text='<%# Bind("intMessageId") %>' ClientIDMode="Static" runat="server"></asp:TextBox>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>--%>

                                                                 <asp:TemplateField HeaderText="Messagers">
                                                                        <EditItemTemplate>
                                                                            <asp:Label ID="lblMessageId" Width="50" Text='<%# Bind("strMessage") %>' ClientIDMode="Static" AutoPostBack="true" runat="server">                                                                               
                                                                            </asp:Label>
                                                                        </EditItemTemplate>

                                                                        <ItemTemplate>
                                                                            <asp:DropDownList ID="ddlMessage" Width="300" CssClass="form-control my-DropDownThin" lientIDMode="Static" AutoPostBack="true" runat="server">                                                                               
                                                                            </asp:DropDownList>
                                                                        </ItemTemplate>
                                                                 </asp:TemplateField>
<ItemTemplate>
                                                                   <asp:Label ID="FilePath" Width="2" runat="server"></asp:Label> 

                                                                </ItemTemplate>
                                                                <asp:TemplateField HeaderText="Images">                                                                
                                                                    <ItemTemplate>
                                                                      <%-- <asp:Image ID="Image1" ImageUrl='<%# Eval("StrImage") %>' runat="server" Height="100" />--%>

                                                             <%-- <asp:FileUpload runat="server"  AutoPostBack="True"  ID="uploadFImage" CommandArgument='<%# Eval("strImage") %>' ClientIDMode="Static"/>--%>
                                                                     <asp:LinkButton ID="lnkUpload" runat="server" Text="Upload Resume" ></asp:LinkButton>

                                    <%--Using ModalPopupExtender--%>
                                    <asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="lnkUpload"
                                        PopupControlID="pnlUpload" BackgroundCssClass="ModalPopupBG" CancelControlID="btnCancel">
                                    </asp:ModalPopupExtender>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField> 


                                                                   <asp:TemplateField HeaderText="">                                                                
                                                                    <ItemTemplate>


  <asp:Image ImageUrl="~/Uploaded Images/Default.png" runat="server" ID="btnViewFImage"  Width="40" Height="40"/>

                                                                    </ItemTemplate>
                                                                </asp:TemplateField> 

                                                            </Columns>

                                                 <FooterStyle BackColor="#CCCC99" ForeColor="Black" />
                                                 <HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" />
                                                 <PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" />
                                                 <SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
                                                 <SortedAscendingCellStyle BackColor="#F7F7F7" />
                                                 <SortedAscendingHeaderStyle BackColor="#4B4B4B" />
                                                 <SortedDescendingCellStyle BackColor="#E5E5E5" />
                                                 <SortedDescendingHeaderStyle BackColor="#242121" />

                                            </asp:GridView>    
                                        </div>
  </ContentTemplate>
       <Triggers>           
            <asp:PostBackTrigger ControlID="gvArticle"/> 
           </Triggers>

                                    </asp:UpdatePanel> 
                                    </div>
                                </div><asp:Panel ID="pnlUpload" runat="server" Width="450px" BackColor="#E39A19"
                        BorderColor="#C3680D" BorderStyle="Solid">
  <asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode="Conditional">
                            <ContentTemplate>

                        <table style="width: 450px; margin: 0 auto">
                            <tr>
                                <td align="right" style="background-image: url('backTable.PNG')">
                                    &nbsp;</td>
                            </tr>
                            <tr>
                                <td align="left">
                                    <asp:FileUpload ID="flp_Resume" runat="server" Width="222px" />
                                    <asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server"
                                        ControlToValidate="flp_Resume" ErrorMessage="*"
                                        ToolTip="Please Select a File to Upload."></asp:RequiredFieldValidator>
                                    <asp:RegularExpressionValidator ID="RegularExpressionValidator5" runat="server"
                                        ControlToValidate="flp_Resume" ErrorMessage="*"
                                        ToolTip="Only txt,doc or docx files are Allowed"
                                        ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+((.pdf)|(.doc)|(.txt)|(.docx))$"></asp:RegularExpressionValidator>
                                </td>
                            </tr>
                            <tr>
                                <td align="left">
                                    <asp:Button ID="btnUpload" runat="server" Text="Upload" Width="80px"
                                        onclick="btnUpload_Click" />
                                    <asp:Button ID="btnCancel" runat="server" Text="Cancel" Width="80px" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    &nbsp;
                                    <asp:Label ID="lblError" runat="server" Font-Bold="True" Font-Names="Georgia"
                                        ForeColor="Red"></asp:Label>
                                </td>
                            </tr>
                        </table>


                                </ContentTemplate>
            <Triggers>                
            <asp:PostBackTrigger ControlID="btnUpload"/> 
           </Triggers>

CS

#region Detail Save1
        private DataTable CreateDetailSave()
        {
            DataTable dtDetailSave1 = new DataTable();
            DataColumn dc1;
            dc1 = new DataColumn("intArticleDetailId");
            dtDetailSave1.Columns.Add(dc1);
            dc1 = new DataColumn("intSectionId");
            dtDetailSave1.Columns.Add(dc1);
            dc1 = new DataColumn("intCompoundId");
            dtDetailSave1.Columns.Add(dc1);            
            dc1 = new DataColumn("decSectionWeight");
            dtDetailSave1.Columns.Add(dc1);
            dc1 = new DataColumn("intMessageId");
            dtDetailSave1.Columns.Add(dc1);
            dc1 = new DataColumn("uploadFImage");
            dtDetailSave1.Columns.Add(dc1);



            foreach (GridViewRow row in gvArticle.Rows)
            {
                DataRow dr = dtDetailSave1.NewRow();

                Label lblintArticleDetailId = (Label)row.FindControl("lblArticleDetailId");
                Label lblSectionId = (Label)row.FindControl("lblSectionId");
                DropDownList ddlCompound = (DropDownList)row.FindControl("ddlCompoundId");
                TextBox txtdecSectionWeighte = (TextBox)row.FindControl("txtdecSectionWeighte");
                DropDownList intMessage = (DropDownList)row.FindControl("ddlMessage");

                FileUpload uploadFImage = (FileUpload)row.FindControl("uploadFImage");

                dr["intArticleDetailId"] = CurrentMode == "Add" ? -1 : Convert.ToInt32(lblintArticleDetailId.Text);


                dr["intSectionId"] = Convert.ToInt32(lblSectionId.Text);
                dr["intCompoundId"] = ddlCompound.SelectedValue;
                dr["decSectionWeight"] = txtdecSectionWeighte.Text.Trim() != "" ? Convert.ToDecimal(txtdecSectionWeighte.Text.Trim()) : 0;
                dr["intMessageId"] = intMessage.SelectedValue;
                dr["uploadFImage"] = uploadFImage.HasFile;


                dtDetailSave1.Rows.Add(dr);

            }

            return dtDetailSave1;

        }
        #endregion
 #region Save
        protected void btnSave_Click(object sender, EventArgs e)
        {

            try
            {
                if (FSaveConfirmation() == true)
                {
                    string strArticleNo;
                    int intStatus = 8;
                    if (CurrentMode == "Add")
                    {
                        strArticleNo = "aaaaaaaa";

                    }

                    else
                    {
                        strArticleNo = txtArticleNo.Text.ToString();
                    }


                    DataTable dtDetailSave1 = CreateDetailSave();

                    string PageName = Path.GetFileNameWithoutExtension(Page.AppRelativeVirtualPath);


                    string Saved = clsArticle.saveArticleData(SelectedArticleId, strArticleNo, txtArticleDescription.Text.ToString(), txtRemarks.Text.ToString(), intStatus, 1, CurrentMode,
                                   PageName, 16, dtDetailSave1);


                    if (Saved != "Error")
                    {
                        lblMsg.ForeColor = System.Drawing.Color.Green;
                        if (CurrentMode == "Add")
                        {
                            lblMsg.Text = "Record Saved Successfully";
                            txtArticleNo.Text = Saved.ToString();
                        }
                        else if (CurrentMode == "Modify")
                        {
                            lblMsg.Text = "Record Updated Successfully";
                        }
                        else if (CurrentMode == "Delete")
                        {
                            lblMsg.Text = "Record Deleted Successfully";
                        }
                        else if (CurrentMode == "Confirm")
                        {
                            lblMsg.Text = "Record Confirmed Successfully";
                        }
                        btnClear.Enabled = true;
                        btnSave.Enabled = true;
                    }
                    else if (Saved == "Error")
                    {
                        lblMsg.Text = "Article Saving Error";
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

        }

        #endregion

        #region Save Confirmation
        private bool FSaveConfirmation()
        {
            lblMsg.ForeColor = System.Drawing.Color.Red;

            Boolean blnSaveCon = true;
            //if (CurrentMode == "Add")
            //{
            if (txtArticleDescription.Text.ToString() == "")
            {
                lblMsg.Text = "Enter Article Description";
                blnSaveCon = false;
                goto end;
            }

        //} 
        end: { }
            return blnSaveCon;
        }
        #endregion




        #region Get controls in page
        private void GetControlList<T>(ControlCollection controlCollection, List<T> resultCollection) where T : Control
        {
            foreach (Control control in controlCollection)
            {
                if (control is T)
                    resultCollection.Add((T)control);

                if (control.HasControls())
                    GetControlList(control.Controls, resultCollection);
            }
        }
        #endregion


        #region pageload
        protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack)
            {

                ClearControls();


                FillArticleDetails();

                EnableControls(false);
                Session["SearchPopup"] = false;


            }
            else
            {
                if (Session["SearchPopup"] != null)
                {
                    SearchPopup = (bool)(Session["SearchPopup"]);
                    if (SearchPopup != false)
                    {
                        MyMPE.Show();

                    }
                    else
                    {
                        MyMPE.Hide();
                    }
                }

                vAdSearchParaList = new List<SearchParametors>();


            }
        }
        #endregion

        #region Advance Search
        protected void btnAdSearchClose(object sender, ImageClickEventArgs e)
        {
            Session["SearchPopup"] = false;
            Session["sSearchddlList"] = null;
            GridView dtgResult = (GridView)ucDesignation.FindControl("ucgrdSearchConditions");
            dtgResult.DataSource = null;
            dtgResult.DataBind();
            dtgAdSearchResult.DataSource = null;
            dtgAdSearchResult.DataBind();
            MyMPE.Hide();
        }


        #region Create Article table
        private void createArticleDataTable()
        {
            if (dt.Columns.Count == 0)
            {
                dt.Columns.Add(new DataColumn("intArticleDetailId", typeof(int)));
                dt.Columns.Add(new DataColumn("intSectionId", typeof(int)));
                dt.Columns.Add(new DataColumn("strSectionName", typeof(string)));
                dt.Columns.Add(new DataColumn("intCompoundId", typeof(string)));
                dt.Columns.Add(new DataColumn("decSectionWeight", typeof(string)));
                dt.Columns.Add(new DataColumn("intMessageId", typeof(string)));
                dt.Columns.Add(new DataColumn("uploadFImage", typeof(string)));

            }

            gvArticle.DataSource = dt;
            gvArticle.DataBind();
        }        
        #endregion

        #region Compound Grid - Add empty row
        private void ArticleGridAddEmptyRow(int newId)
        {
            DataRow newDr = null;
            newDr = dt.NewRow();
            newDr["intArticleDetailId"] = 1;
            newDr["intSectionId"] = 1;
            newDr["strSectionName"] = "";
            newDr["intCompoundId"] = "";
            newDr["decSectionWeight"] = "";
            newDr["intMessageId"] = "";
            newDr["strImage"] = "";


            dt.Rows.Add(newDr);

            if (dtArticleDetails == null || dtArticleDetails.Rows.Count == 0)
            {
                dtArticleDetails = dt;
            }
            else
            {
                dtArticleDetails.Merge(dt);

                gvArticle.DataSource = dt;
                gvArticle.DataBind();
            }

        }
        #endregion

        private void FillArticleDetails()
        {
            DataSet dtCompoundData = clsArticle.GeArticleDetailData(SelectedArticleId);

            if (dtCompoundData.Tables[0].Rows.Count > 0)
            {

                createArticleDataTable();               
                dt = dtCompoundData.Tables[0];
                dtArticleDetails = dt;

                gvArticle.DataSource = dtArticleDetails;
                gvArticle.DataBind();

            }
            else
            {
                lblMsg.Text = "No Records Found";
            }

        }       

        protected void gvArticle_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Footer)
            {


            }
            else if (e.Row.RowType == DataControlRowType.DataRow)
            {


                { 


                }

                DataTable CompoundCode = clsArticle.CompoundDataForGrid("");

                DropDownList ddlCompoundId = (DropDownList)e.Row.FindControl("ddlCompoundId");
                if (ddlCompoundId != null)
                {
                    ddlCompoundId.DataTextField = "Compound Code";
                    ddlCompoundId.DataValueField = "Compound Id";
                    ddlCompoundId.DataSource = CompoundCode;
                    ddlCompoundId.DataBind();

                    string country = (e.Row.FindControl("ddlCompoundId") as DropDownList).Text;
                    ddlCompoundId.Items.FindByValue(country).Selected = true;
                }


                DataTable MsgCode = clsArticle.MessageDataForGrid("");

                DropDownList ddlMessage = (DropDownList)e.Row.FindControl("ddlMessage");
                if (ddlMessage != null)
                {
                    ddlMessage.DataTextField = "Message Name";
                    ddlMessage.DataValueField = "Message Id";
                    ddlMessage.DataSource = MsgCode;
                    ddlMessage.DataBind();

                    ddlMessage.Items.Insert(0, new ListItem("Please select"));
                    string country = (e.Row.FindControl("ddlMessage") as DropDownList).Text;
                    ddlMessage.Items.FindByValue(country).Selected = true;
                }



                //}


            }
        }
       protected void btnUpload_Click(object sender, EventArgs e)
    {
        if (flp_Resume.HasFile)
        {
            string fileName = Path.GetFileName(flp_Resume.PostedFile.FileName);
            string fullpath = Path.GetFullPath(flp_Resume.PostedFile.FileName);
            flp_Resume.PostedFile.SaveAs(Server.MapPath("~/Uploaded Images/") + fileName);
            Response.Redirect(Request.Url.AbsoluteUri);
        }

        else
        {
            lblError.Text = "Please Select a File";
            return;
        }
    }

0 个答案:

没有答案