小编Cov*_*ert的帖子

从UpdatePanel内的GridView中的链接下载文件失败

我试图通过asp.net中的FileUpload控件(即file.Docx等)在数据库中保存文件(图像,文字,PDF或任何类型).然后我希望将文件名显示为GridView中的链接,因此当用户单击它时,将下载该文件.

我尝试了一切.在调试中它什么都没显示.它到达Response.End的末尾但没有下载任何内容.

网格视图:

<asp:TemplateField>
     <ItemTemplate>
        <asp:LinkButton ID="btnLinkDownloadTender" runat="server" Text='<%#  Eval("UploadedTenderPath") %>'CommandArgument='<%# Eval("UploadedTenderPath") %>' OnClick="DownloadTender"></asp:LinkButton>
     </ItemTemplate>
 </asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)

上传:

protected void UploadTender()
{
    try
    {
        if (FileUpload1.HasFile)
        {
            string fileName = Path.GetFileName(FileUpload1.FileName);
            FileUpload1.PostedFile.SaveAs(Server.MapPath("~/UploadedTenders/") + fileName);

            HdnFieldUploadedTender.Value = fileName;

            ResultLabel.ResultLabelAttributes("Tender Uploaded", ProjectUserControls.Enums.ResultLabel_Color.Red);
            ResultPanel.Controls.Add(ResultLabel);
        }
        else
        {
            ResultLabel.ResultLabelAttributes("No file specified", ProjectUserControls.Enums.ResultLabel_Color.Red);
            ResultPanel.Controls.Add(ResultLabel);
        }
    } 
}
Run Code Online (Sandbox Code Playgroud)

下载:

protected void DownloadTender(object sender, EventArgs e)
{
    string filePath = (sender as LinkButton).CommandArgument;

    Response.ContentType = ContentType;
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(filePath) );
    Response.Write(filePath);
    Response.End();
}
Run Code Online (Sandbox Code Playgroud)

文件夹结构:

在此输入图像描述

c# asp.net gridview webforms file-upload

3
推荐指数
1
解决办法
1315
查看次数

为什么foreach循环在gridview的最后一行失败?

我已经为GRIDVIEW Cell#14的背景添加了一个代码,如果单元格的文本!="nbsp;" 除最后一行外,它确实有效.即使它不等于"nbsp",它也不会对最后一行着色

protected void grdviewCases_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow) 
        {
            foreach (GridViewRow gr in grdviewCases.Rows)
            {
                if (gr.Cells[14].Text != "&nbsp;")
                {
                    gr.Cells[14].BackColor = Color.Red; ;
                    gr.Cells[14].ForeColor = Color.WhiteSmoke;
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net gridview visual-studio

2
推荐指数
1
解决办法
761
查看次数

为什么sql不比较时间?

我比较这两次,如果它小于或大于彼此,但它没有.为什么?

 if(@OpeningTime < @ExpiryTime)
      Begin
            Raiserror('Opening time cannot be smaller than expiry time', 16,10);
            return
      End
Run Code Online (Sandbox Code Playgroud)

两者都是varchar(10)

时间过去就像早上10点和上午11点

sql t-sql sql-server sql-server-2014

2
推荐指数
1
解决办法
1146
查看次数