2009-07-07 25 views
6

Codebehind'den serving a file olduğum bir senaryo var., asp.net sitesinden 404 hatası veriyor codebehind

hangi dosya isteğe bağlı olarak değişir. Bazı durumlarda hizmet edecek bir dosya olmayacak ve 404'ü tarayıcıya iade etmek istiyorum.

Bunu codebehind'den nasıl yapabilirim? Kullanılabilir bir dosya olmadığını göstermek için doğru işlem nedir?

cevap

10

bir 404 dönmek için Response.StatusCode özelliğini kullanabilirsiniz web.config bazı hataların nasıl işleneceğini belirtebilirsiniz: o olsun sorusuna gelince

Page.Response.StatusCode = 404 

" Yapılması gereken doğru şey "Bunun, Sayfa'ya nasıl erişileceğine bağlı olduğunu söyleyebilirim. Programlı olarak erişecek olursanız, evet 404'le gidecektim. Ancak, kullanıcı sistemli bir sistem olacaksa, o zaman özel bir sayfa ile giderdim. Daha anlaşılır şeyler gibi kodlar ve insanlar gibi programlar :-)

0

Onları, web uygulamanızın geri kalanının stilinde, dosyanın bulunamadığını açıkça belirten özel bir hata sayfasına yönlendirmeye daha yatkın olurdum.

Sen

<customErrors mode="On"> 
    <error statusCode="404" redirect="FileNotFound.aspx"/> 
</customErrors> 
+0

Bunu denedim ve işe yaramadı .... – Etienne

6
throw new HttpException(404, "File not found");