2011-03-13 13 views
5

Bir oturum için önceden ziyaret edilen url'yi nasıl bulabileceğimi merak ettim mi?Önceki URL'ye yönlendirme?

Bir kullanıcı bir şey yaptıktan sonra bunları bu URL'ye yönlendirebiliyorum.

Bunu yapmak için standart bir yol var mı? Aksi takdirde Global.asax'a bazı geçersiz kılmaları ekleyecektim ve URL geçmişini saklamak için bir oturum değişkeni kullanacaktım. bazı durumlarda size geçemez rağmen

cevap

5

Request.UrlReferrer istediğini olabilir, ancak AJAX kullanarak veya bir parametre olarak url geçen düşünmek isteyebilirsiniz URL, sorgulandığında, örneğin URL gizlendiğinde. Bu durumda doğru yol Request.UrlReferrer. Bir oturum değişkeni kullanmayla ilgili problem, zaman aşımına uğrayabilir ve güvenilmez davranışlara neden olabilir. Veya birden fazla oturum aktif veya yansıtılmış sunucu varsa, hiç işe yaramaz. Önlenemediği zaman MVC'de oturum değişkenlerini kullanmanın kötü bir fikri, genel olarak zayıf bir düşüncedir. Gittiğim çözüm, önceki URL'yi almak ve bunu görünüm modelinde göstermek için JavaScript kullanıyordu.

1

yukarıdaki cevabı tamamen doğrudur ...

+0

Kullanıcı javascript devre dışı bırakılmışsa, bu çalışmaz. URL kodlaması daha mantıklı. – ashes999

+1

Oh Bu sitenin tümünün sitemde JavaScript'e bağımlı olduğunu eklemeliyim ve kullanıcının bu sayfayı JS etkin olmadan görüntülemesine izin vermeyiniz. – whoblitz