ASP.Net MVC 3.0 C # Bir mülk var mı?

Merhaba, mülk olup olmadığını kontrol etmek ister misiniz?

Bu benim kodum

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

AbsolutePath öğesinin bulunup bulunmadığını öğrenmek istiyorum

Bana nasıl kontrol edeceğimi yardım edebilir. Şu anda AbsolutePath kontrol etmek için mevcut olmadığı için hata veriyor

Zaman ayırdığın için teşekkürler

0
Yani gerçekten HttpContext.Current.Request.UrlReferrer boş olmadığını kontrol etmeniz gerekiyor.
katma yazar jrummell, kaynak

2 cevap

Öncelikle mutlak yolu (url) bir yerel dosya sistemi yoluna eşlemeniz gerekir. Ardından, dosyanın mevcut olup olmadığını kontrol edebilirsiniz:

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

Update: I guess I misunderstood the question. The problem is, that if your page/action/etc is called directly (e.g. by entering its URL in the browser), then there is no Referrer (previous page). So you have to first check Request.UrlReferrer for null:

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

BTW: since AbsolutePath is already a string, there is no need to call ToString()on it. So you can simplify your code some more:

if (hc != null)
{
  abpath = hc.AbsolutePath;
}
2
katma
Bu benim sorunum var localPath = Server.MapPath (hc.AbsolutePath); Nesne başvurusu bir nesnenin örneğine ayarlanmadı diyor.
katma yazar HaBo, kaynak
Teşekkürler teşekkürler
katma yazar HaBo, kaynak

Önce URL yönlendiricisini kontrol edin. Yani aşağıdaki kodu kullanarak deneyin,

 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();
    }
0
katma