2011-10-27 3 views
0

こんにちは、私はプロパティが存在するかどうかチェックしたいですか?ASP.Net MVC 3.0 C#プロパティが存在するかどうかを調べるには?

これは、いずれかの方法をチェックするために私を助けることができる私はAbsolutePath

が存在するかどうかを確認してくださいしたいと思います私のコード

string abpath=null; 
    var hc= HttpContext.Current.Request.UrlReferrer; 
    if (hc.AbsolutePath !=null) 
    { 
     var _temp = HttpContext.Current.Request.UrlReferrer.AbsolutePath; 
     abpath = _temp.ToString(); 
    } 

です。 AbsolutePathはお時間を

おかげ

+0

、以下のようなコードを使用してみてください。 – jrummell

答えて

2

まずローカル・ファイル・システム・パスを絶対パス(URL)をマップする必要がありをチェックするために存在しないよう は今、それはエラーがスローされます。

var localPath = Server.MapPath(hc.AbsolutePath); 
var exists = System.IO.File.Exists(localPath); 

アップデート:私は質問を誤解推測 を次に、ファイルが存在するかどうかを確認することができます。問題は、あなたのページ/アクション/ etcが(ブラウザのURLを入力するなどして)直接呼び出された場合、Referrer(前のページ)は存在しないということです。だから、最初のnullをRequest.UrlReferrerをチェックする必要があります。ところで

if (hc != null && hc.AbsolutePath != null) 
{ 
    // ... 
} 

:AbsolutePathは文字列が既にあることから、それにToString()を呼び出す必要はありません。したがって、コードをさらに簡素化することができます。

if (hc != null) 
{ 
    abpath = hc.AbsolutePath; 
} 
+0

これは、私の問題は、varでエラーをスローするlocalPath = Server.MapPath(hc.AbsolutePath);オブジェクトリファレンスがオブジェクトのインスタンスに設定されていません。 – HaBo

+0

ありがとうございました – HaBo

0

最初にURL参照を確認してください。 だから、だから、本当にあなたがHttpContext.Current.Request.UrlReferrerがnullでないかどうかを確認する必要があり

string abpath=null; 
    var hc= HttpContext.Current.Request.UrlReferrer; 
    if (hc !=null && !string.isNullOrEmpty(hc.AbsolutePath)) 
    { 
     var _temp = HttpContext.Current.Request.UrlReferrer.AbsolutePath; 
     abpath = _temp.ToString(); 
    } 
関連する問題