El verbo HTTP POST utilizado para acceder a la ruta no está permitido

No estoy usando la reescritura de URL, mi aplicación funciona bien hasta que bash golpear un archivo .PDF o incluso un archivo .TXT a través de un enlace que he generado dinámicamente en PostBackUrl de un LinkButton. El camino es correcto.

He investigado exhaustivamente este problema aquí y la mayoría de los problemas son con personas que usan una acción POST o no o la reescritura de URL, que no soy.

En IIS, el error se ve así:

Server Error in Application "DEFAULT WEB SITE/EVENTS"Internet Information Services 7.5 Error Summary HTTP Error 405.0 - Method Not Allowed The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used. Detailed Error Information Module StaticFileModule Notification ExecuteRequestHandler Handler StaticFile Error Code 0x80070001 Requested URL http://localhost:80/Events/EventDocs/48ea946f-e948-e011-ad73-00155d0e670b/2011.pdf Physical Path C:\projects\Events\EventDocs\48ea946f-e948-e011-ad73-00155d0e670b\2011.pdf 

Código para generar dinámicamente la url para hacer clic aquí:

 public void DocumentsRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) { LinkButton LinkToDoc = (LinkButton)e.Item.FindControl("LinkToDoc"); Label FileNameLabel = (Label)e.Item.FindControl("FileNameLabel"); LinkToDoc.PostBackUrl = "~/EventDocs/" + SessionValue.EventId.ToString() + "/" + FileNameLabel.Text; LinkToDoc.Text = FileNameLabel.Text; } 

No use un LinkButton. Utilice un control HyperLink.

El control HyperLink tiene una propiedad NavigateUrl que puede usar.

Cuando utiliza la propiedad PostBackUrl de un LinkButton, se está utilizando un verbo POST. Cita de la documentación:

La propiedad PostBackUrl le permite realizar una publicación de varias páginas utilizando el control LinkButton. Establezca la propiedad PostBackUrl en la URL de la página web para publicar cuando se haga clic en el control LinkButton. Por ejemplo, si especifica Page2.aspx, la página que contiene el control LinkButton se publica en Page2.aspx. Si no especifica un valor para la propiedad PostBackUrl, la página se publica en sí misma.

Así que te recomendaría usar un hipervínculo normal:

 ">foo.pdf 

Hay alguna otra propiedad en un botón de enlace que desea establecer. No PostBackUrl, porque, como su nombre indica, ¡publica!