Una forma sencilla de hacerlo es tener una página que se encargue de gestionar los documentos, te pongo un ejemplo más abajo.
La otra forma es modificando el IIS y creando HttpHandlers para que asp.net también maneje los archivos pdf, esto dependerá de los permisos que tengas sobre el servidor.
Código:
<%@ Page Language="VB" %>
<script runat="server">
Private Sub Descargar(ByVal archivo As String)
If Not Page.User.Identity.IsAuthenticated Then ' Utiliza un método más adecuado...
Response.Write("No tienes permisos para descargar el archivo")
Else
Response.Clear()
Response.ClearHeaders()
Response.ClearContent()
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename=" & archivo)
Response.WriteFile(Server.MapPath("_pdfs/" & archivo))
Response.End()
End If
End Sub
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Request.Params("doc") Is Nothing Then
Descargar(Request.Params("doc")) ' Se pone el nombre del archivo por simplicidad, podría ser talvez un ID
End If
End Sub
</script>
<html>
<head>
</head>
<body>
</body>
</html>
Saludos