[英]MVC site using relative paths for links instead of view syntax
編輯!! 我應該補充一點,該站點可以在本地完美運行。 只有在部署時才會出現此問題
原始帖子:
我有一個站點,我只是張貼了http://splattonet0.web704.discountasp.net/
加載Home控制器的Index視圖就好了。 但是,當單擊左側鏈接時,Web服務器正在尋找相對路徑(即E:\\ web \\ splattonet0 \\ htdocs \\ Home \\ AboutMe),這是不正確的,因為Home文件夾當然位於名為“ Views”的文件夾下”
我以前做過MVC網站,從來沒有遇到過這個問題。 我看不到此網站或我完成的任何其他網站之間的任何區別。
我的主模板中鏈接部分的代碼如下:
<div id="navContainer">
<ul id="mainNav">
<li><a href="/Home/Index" title="Home">Home</a></li>
<li><a href="/Home/AboutMe" title="About Us">About Me</a></li>
<li><a href="/Skills/Index" title="Skills">Skills</a></li>
<li><a href="/Home/Resume" title="Resume">Resume</a></li>
<li><a href="/Home/Experience" title="Experience">Experience</a></li>
<li><a href="/Home/SitesIveDesigned" title="Websites I've developed">My Websites</a></li>
<li><a href="/Home/References" title="References">References</a></li>
<li><a href="/Home/Projects" title="Projects">Projects</a></li>
<li><a href="/Home/Hobbies" title="Hobbies">Hobbies</a></li>
....etc
</ul>
</div>
無論在href屬性中是否包含前面的斜杠,我都有相同的問題。 我決定將其保留在那兒,因為這是我其他網站(工作方式)的樣式。
誰能為我闡明一下? 謝謝!
進一步編輯:
我被要求從我編寫的該服務器上的MVC站點提供代碼,並且效果很好。 另一個站點( YorkCentre )中的鏈接代碼是相同的樣式: <li><a href="/Controller/Action">text</a></li>
編碼:
<li><a href="/News/Index">Archived News</a></li>
<li><a href="/Home/BoardOfDirectors">Board Of Directors</a></li>
<li><a href="/Media/Index">In The Media</a>
...
</ul>
假設您使用的是默認路由,則/ Home / Index應該調用“ Home”控制器的“ Index”操作。 對於MVC,“主頁”位於“視圖”文件夾下的事實無關緊要。
如果兩個地方的代碼都相同,而問題只在一個地方發生,則答案可能不在代碼內。 以下是一些疑難解答提示,它們可能會有所幫助,因為如果沒有有關這兩種環境的更多信息,我將不知道到底是什么問題。
您的本地環境和服務器環境有哪些Web服務器平台? 您是在本地使用Visual Studio和Cassini,還是在遠程使用IIS? 如果是這樣,哪個版本的IIS? 如果沒有,平台是什么? 無論如何,目標服務器是否配置正確?
檢查以確保在目標服務器上正確設置了路由。 如果目標服務器運行IIS6-IIRC,則尤其如此,IIS 6需要一些特殊的配置幫助來處理ASP.NET MVC中的標准路由。
如果上述所有方法都無法幫助您找到答案,請嘗試通過創建新的MVC站點並將現有文件拖放到本地來在本地復制它。 看看是成功還是失敗。
您在該服務器上還有其他成功執行的ASP.NET MVC應用程序嗎? 根據您的新站點檢查其配置。
我已經解決了問題! 在DiscountASP中,我已將“應用程序池管道模式”從“經典”更改為“集成”,從而導致正確呈現了我的視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.