C# asp.NET Razor新页面错误
我对Razor和asp.NET还很陌生,所以如果我的问题看起来有些愚蠢,请不要评判我 我在VS2013中创建了一个razor项目,现在我创建了一个新的cshtml页面。 我只添加了一些小东西,比如标签和输入字段。然后,我想用一个简单的链接将模板索引页面链接到我自己的页面: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 »</a>
<a href="~/Views/Acquisition/AC_Create.cshtml" class="btn btn-primary btn-lg">Login »</a>
当我尝试点击浏览器中的链接时,我得到的错误是找不到资源
如果我在页面检查器中打开页面,错误显示与其他信息相同:
<!--[HttpException]: A public action method 'User' was not found on controller 'VitaminB.Controllers.UserController'.
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();