2017-04-10 81 views
0

我有一個對我來說很奇怪的問題。我正在製作MVC項目,當我在我的網站上點擊聯繫人時,它沒有將我重定向到聯繫人頁面,它顯示此消息: error 錯誤文本:說明:HTTP 404.您正在查找的資源(或它的依賴關係)可能已被刪除,名稱已更改或暫時不可用。請檢查以下網址並確保它拼寫正確。ASP.NET查看不起作用

和後面的代碼是:

<li> 
<a href="~/Views/Home/Contact.cshtml">Contact</a> 
</li> 

,如果我去下文件夾視圖,並直接開在Firefox Contact.cshtml它正常打開... plz幫助,因爲我是小白..

+0

請在文章中包含錯誤文本,而不是圖片。 –

+0

@ user6533736你可以看到該項目的截圖嗎? – Win

+0

究竟我應該截圖? – user6533736

回答

1

在MVC項目中,View文件不會直接提供,它們總是首先經過Controller Action。

這是因爲View文件首先需要一些數據才能進入(視圖模型),並且它是Controller創建View模型的責任。

如果您查看實際上並不需要任何的數據,那麼你可以寫爲其提供服務的控制器操作:

public class HomeController : Controller { 

    public ActionResult Contact() { 

     return this.View(); // returns the "Contact" view under "Home", these values are inferred from the Controller's name "HomeController" and the action name "Contact" 
    } 
} 

你的鏈接應該再像<a href="@Url.Action("Contact", "Home")>Contact</a>

或`@ Html.ActionLink( 「聯繫人」,「家」)

另外,如果你想有一個簡單的網站只包括.cshtml再看看ASP.NET網頁:https://docs.microsoft.com/en-us/aspnet/web-pages/overview/getting-started/introducing-aspnet-web-pages-2/getting-started

+0

嘿,我按照你的建議嘗試了,但沒有任何東西改變了,我得到山姆錯誤。我已經將該控制器自動設置,因爲我使用了Bootstrap模板。不知道該怎麼辦...我在網上搜索,有人建議它可以連接到IIS,我更新了服務器....是一個問題或?因爲我不知道該怎麼辦..我堅持基本101 ... – user6533736

+1

https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-開始 - MVC 5入門 – sh1rts

0

我找到了答案。它是如此簡單,我很慚愧,我做了什麼樣的錯誤....我唯一需要做的是:

@Html.ActionLink("Contact","Contact", "Home") 

和內部列表中刪除<a href="#">Contact</a>

因此最終結果與我從index.cshtml導航到其他視圖是:

<ul class="nav navbar-nav"> 
       <li> 
        @Html.ActionLink("About","About", "Home") 
       </li> 
       <li> 
        @Html.ActionLink("Contact","Contact", "Home") 
       </li> 
      </ul>