C# asp.NET Razor新页面错误

C# asp.NET Razor新页面错误,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我对Razor和asp.NET还很陌生,所以如果我的问题看起来有些愚蠢,请不要评判我 我在VS2013中创建了一个razor项目,现在我创建了一个新的cshtml页面。 我只添加了一些小东西,比如标签和输入字段。然后,我想用一个简单的链接将模板索引页面链接到我自己的页面: <a href="~/Views/Acquisition/AC_Create.cshtml" class="btn btn-primary btn-lg">Login &raquo;</a>

我对Razor和asp.NET还很陌生,所以如果我的问题看起来有些愚蠢,请不要评判我

我在VS2013中创建了一个razor项目,现在我创建了一个新的cshtml页面。 我只添加了一些小东西,比如标签和输入字段。然后,我想用一个简单的链接将模板索引页面链接到我自己的页面:

<a href="~/Views/Acquisition/AC_Create.cshtml" class="btn btn-primary btn-lg">Login &raquo;</a>
当我尝试点击浏览器中的链接时,我得到的错误是找不到资源

如果我在页面检查器中打开页面,错误显示与其他信息相同:

    <!--[HttpException]: A public action method &#39;User&#39; was not found on controller &#39;VitaminB.Controllers.UserController&#39;.
   bei System.Web.Mvc.Controller.HandleUnknownAction(String actionName)
   bei System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState)
   bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
   bei System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
   bei System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller)
   bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
   bei System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
   bei System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)
   bei System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState)
   bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
   bei System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
   bei System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
   bei System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   bei System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)-->

很抱歉格式设置不好,请尽力而为=/

这不是在MVC中创建链接的方式:尝试使用@Html.ActionLink

您应该阅读一些MVC类型的入门教程:您需要了解路由,您从不直接链接到.cshtml文件。事实上,当您在URL栏中键入与链接相同的URL时,您必须指向控制器,而不是视图。然后,一旦到达,控制器就可以调用视图。所以,你总是要指向一个控制器,也许只是给你一个视图。视图只能从控制器指向

链接:

在somecontroller中:

public ActionResult someaction(int id)
{
 // process
 return View('viewname'); // viewname.cshtml must be present in /View/somecontroller/
}
注意:如果视图与控制器同名,那么控制器somecontroller是控制器和视图的名称,您可以

return View();

对不起,链接是错误的,因为我尝试了一些其他我刚刚看到的。谢谢,我会这样做:现在看看这个:@ VIP请考虑接受答案,如果答案解决了你的问题。
public ActionResult someaction(int id)
{
 // process
 return View('viewname'); // viewname.cshtml must be present in /View/somecontroller/
}
return View();