2013-05-30 39 views
3

這是一個類似的問題 "How To Disable ASP.NET MVC Url routing"尚未得到解答(我認爲響應者不明白爲什麼需要它)。從項目中刪除ASP.NET MVC URL路由

我有一個現有的應用程序,它使用AngularJS和MVC url路由來提供模板。我想刪除MVC url路由,因爲它是多餘的(請參閱下面的註釋。我們使用webApi通過ajax返回數據,因此不需要視圖/控制器)。

我已將Global.asax.cs中的RegisterRoutes調用刪除。除了對System.Web.Routing的引用外,Web.config中似乎沒有任何東西,所以我離開了它。

我使用IIS表達與Visual Studio 2012

當應用程序運行,我收到了403.14 Forbidden錯誤。我已啓用目錄瀏覽。我已經在Visual Studio中的項目中設置了起始頁面,但我得到了一個404,儘管該文件肯定在那裏。

我已經嘗試創建一個非mvc網站,並將web.config的內容複製到我的應用程序,但是這不起作用。

回答

0

如果你的意思是在末尾刪除.aspxwww.something/home.aspx); 而是採用

response.redirect("~/home.aspx"); 

使用

server.transfer("~/home.aspx"); 
+0

我正在使用AngularJS,它有自己的路由機制。我只想讓現有的應用程序像沒有路由的普通asp.net(非mvc)網站一樣運行(即http://localhost/index.html將提供index.html頁面) – SturmUndDrang

0

AngularJs路由在C#,無關與ASP.Net MVC Routing

角路由:

是用於深度鏈接的URL的控制器和視圖(HTML 諧音)。它監視$ location.url(),並嘗試將路徑映射到現有路徑定義 。

ASP.Net MVC路由:

ASP.NET路由使您可以使用不具有映射到特定 文件網站的URL。由於該URL不必映射到 文件,因此可以使用描述用戶操作的URL和用戶更容易理解的URL。

在本質上,AngularJs路由涉及客戶端路由(使用位置URL),而與映射的HTTP URL在服務器端適當的控制器/動作ASP.Net MVC交易。

+0

是的,我知道。例如,在Angular模塊的路由配置中,我們有「templateUrl:'Customer/edit'」。通常,這將是一個靜態文件,例如「templateUrl:'CustomerEdit.html'」。目前我們有一個返回partialview的MVC CustomerController。我想刪除它,因爲它是多餘的。基本上,我想要一個作爲MVC ASP.NET網站創建的項目將其轉換回常規的ASP.NET網站。我不想從頭開始重新創建整個項目。謝謝 – SturmUndDrang