1

サーバー内のパスへのリンクボタンを作成しようとしていますが、機能していません。
さらに、LinkBut​​ton を使用して実行しようとしましたが、まだ機能しませんでした。

c#:

 string path = "U:\\HR\\resume\\System\\" + Department + "\\" + ID + extFile;

if (File.Exists(path))
{   
    HyperLinkDownload.ID = ID.ToString();
    lbResumeExist.Text = "File Exists";
    HyperLinkDownload.Text = "download";
    HyperLinkDownload.NavigateUrl =  ID + ext.ToString();
    LinkButton1.Text = "download";
    LinkButton1.PostBackUrl= path;
}
else
{   
    HyperLinkDownload.Visible = false;
    lbResumeExist.Visible = false;
    LinkButton1.Visible = false;
}

asp:

<asp:HyperLink ID="HyperLinkDownload" runat="server"></asp:HyperLink>
<br /><br />
<asp:LinkButton ID="LinkButton1" runat="server"></asp:LinkButton>
<br /><br />

エラーメッセージ:

リソースが見つかりません。

説明: HTTP 404。探しているリソース (またはその依存関係の 1 つ) は、削除されたか、名前が変更されたか、一時的に利用できない可能性があります。次の URL を見直して、スペルが正しいことを確認してください。

要求された URL: /51.doc

文字列 HyperLinkDownload を次のように変更した場合: "HyperLinkDownload.NavigateUrl =path;" ハイパーリンクがクリックに応答しません。要素を検査した後にクリックすると、このエラーメッセージが表示されました

HTTP エラー 400 - 不正な要求です。

バージョン情報: ASP.NET 開発サーバー 10.0.0.0

4

1 に答える 1

1

手動でパス @"U:/HR/Resume....bla..bla..." を書き込む代わりに Server.MapPath("your destination file") を使用してください ..

また、ダウンロードがまだ機能しない場合は、このコードを試してください..

 // send the PDF document as a response to the browser for download
 System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;

 response.ContentType = "application/pdf";
 if (!displayOnBrowser)
 {  response.AddHeader("Content-Disposition", String.Format("attachment; filename=GettingStarted.pdf; size={0}", pdfBytes.Length.ToString())); 
 }
 else
 {  response.AddHeader("Content-Disposition", String.Format("inline; filename=GettingStarted.pdf; size={0}", pdfBytes.Length.ToString()));
 }
 response.BinaryWrite(pdfBytes);
 // Note: it is important to end the response, otherwise the ASP.NET
 // web page will render its content to PDF document stream
 response.End();
于 2013-07-07T02:11:32.753 に答える