2017-04-10 77 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>