Bir MVC4 uygulamasına sahibim, ancak öncelikle WebAPI parçaları için kullanıyorum. Kullanıcıya geri gönderilen bir "düz eski HTML" dosyasına sahip olmak istiyorum (daha sonra JSON'u webapi denetleyicilerinden çekmek için KnockoutJS veya KendoUI kullanacak).MVC4 - Kökünü "normal" işlenmemiş bir html sayfasına yönlendirmenin bir yolu var mı?
routes.IgnoreRoute("{page}.html");
Sonra göz eğer "localhost index.html /" başarıyla sadece benim .html sayfa çıkıyor için:
Bunu yapabileceğini biliyorum. Ancak, gerçekten index.html döndürmek için "root" varsayılan yolunu "localhost /" ile eşlemek istiyorum.
bu çalıştı:routes.MapPageRoute("root", "", "~/index.html");
ama bu hatayı atar:
There is no build provider registered for the extension '.html'. You can register one in the <compilation><buildProviders> section in machine.config or web.config. Make sure is has a BuildProviderAppliesToAttribute attribute which includes the value 'Web' or 'All'.
herkes bu işi yapabilir konusunda herhangi bir fikir var mı? Düz bir html sayfası döndüren bir varsayılan denetleyiciye isabet edebilirdim, ancak bir ASP.NET yığınının tümünü HTML sayfası için bir kez daha geçmesi gibi görünüyor, ki bu sadece ASP.NET yığınına geri dönmek için bir WebAPI URL'si çağırıyor. sayfanın modeli için bazı JSON verilerini almak.
Temel olarak sadece tüm MVC tesisatlarını "atlamak" istiyorum ve IIS'in bir ASP.NET uygulaması değilse sanki html sayfasını geri göndermesini veya en azından mümkün olduğunca az işlem gerçekleştirmesini istiyorum.
routes.IgnoreRoute("");
Ama MVC rotalara aldıktan sonra, zaten ASP.Net ulaştınız: – McGarnagle
Evet ve ASP.NET'e biraz dokunarak sorun yok. Az önce boş bir kontrolörün fazla olduğunu düşündüm. Göz ardı rotası ile en azından kontrolörü çağırıp çağırmak zorunda kalmaz. – CodingWithSpike