2008-12-13 27 views

cevap

22

Açıkçası, .net MVC çerçevesi, statik içeriği şu anda resim/css/js vb. Için işliyor. Bu yalnızca (yönlendirme?) .html dosyalarını doğrudan IIS'ye geçirecek şekilde genişletme meselesi olurdu. Bu güzel URL'ler yapmak için bir yeniden yazma ile birleştiğinde hile yapmalısınız. Ancak, çok geniş bir kapıyı açık bıraktığınız için Kullanıcı Tarafından Oluşturulan İçeriğin ham HTML yüklemeleri biçiminde kullanılmasına izin vermekten çok, çok dikkatli olurdum. En iyi ihtimalle, kullanıcıların spam/porno/reklamlarla dolu sayfalarına sarılacaksınız. En kötüsü, sitelerin siteler arası komut dosyası oluşturma hacklerini yüklemesine ve sitenize zarar vermek için kötü amaçlı içerik yüklemesine yol açacak bir ağ geçidi sağlayacaksınız. Sitenizdeki mevcut bir formu kolayca alabilir, içine çöp yükünü kodlayabilir ve ana sayfalarından gösterebilir ve bir çok şeyi bir araya getirebilirsiniz. En azından

Kendi vb ben şahsen sadece güzel WYSIWYG sunmaktır çok daha eğilimlidir olacağını sarma sonra içeriğin sadece bir blok için aşağı düşürmek için yüklenen içeriğin ayrıştırma ve edilmelidir tek bir içerik bloğunu düzenleyen editör - bu tuza değer herhangi bir editör, hangi öğeleri içerdiği/hariç tuttuğunuz konusunda size yardımcı olmalıdır. Daha sonra bu içerik parçasını veritabanınızda/diskinizde saklayın ve bir ana sayfanın isteğini standart bir MVC denetleyici yolundan geçirin ve bu içeriği yükleyin.


Düzen - Eğer Sen yönlendirme için bir Yoksay kural eklemek gerekir örnekler için talep için - çatlak Global.asax dosyasını açın - - Eğer isteyeceksiniz muhtemelen zaten bu örnekler olacak routes.IgnoreRoute yöntemine haber vereyim:

routes.IgnoreRoute("UserPages/{*path}"); 

IIS izin yourwebsite.com/UserPages/aUser/homepage.html için tüm istekleri işlemek Should - Ayrıca joker parçalarıyla biraz daha önce oynayabilir güzel çözümler için kısıtlamalar

0

Özel ViewEngine ürününü, içerisindeki özel etiketlerle statik html biçimlendirmesini kullanmasına izin vermenizi öneririm; bu, kullanıcı bilgileriyle değiştirilir.

Yani, görünüm motoru böyle bir şey kabul edilebilir:

<html> 
    <body> 
     <b><user:FirstName /></b> 
     <b><user:LastName /></b> 
    </body> 
</html> 

ve

<html> 
    <body> 
     <b>First Name</b> 
     <b>Last Name</b> 
    </body> 
</html> 

Bu özel işaretlemeyi örneğin, veritabanında saklayabilir üretirler. Özel ViewEngine uygulamalarına MVC Contrib project'dan bakabilirsiniz.