C# Can';t从.cshtml选项卡运行应用程序
我遇到了一个奇怪的问题。我正在使用Visual Studio 2012。当我从C# Can';t从.cshtml选项卡运行应用程序,c#,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net Mvc,Asp.net Mvc 4,Razor,我遇到了一个奇怪的问题。我正在使用Visual Studio 2012。当我从.cshtml选项卡开始调试我的web应用程序时,我发现了这个错误 “/”应用程序中出现服务器错误。找不到资源 描述:HTTP404。您正在寻找的资源(或其 依赖项)可能已被删除、名称已更改或 暂时不可用。请查看以下URL并确保 它拼写正确 请求的URL:/Views/Header/GeneralInputs.cshtml 版本信息:Microsoft.NET Framework版本:4.0.30319; ASP.NE
.cshtml
选项卡开始调试我的web应用程序时,我发现了这个错误
“/”应用程序中出现服务器错误。找不到资源
描述:HTTP404。您正在寻找的资源(或其
依赖项)可能已被删除、名称已更改或
暂时不可用。请查看以下URL并确保
它拼写正确
请求的URL:/Views/Header/GeneralInputs.cshtml
版本信息:Microsoft.NET Framework版本:4.0.30319;
ASP.NET版本:4.0.30319.225
当我从.cs
选项卡运行它时,一切正常,运行良好。怎么了
这是我的RouteConfig
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Header", action = "GeneralInputs", id = UrlParameter.Optional }
);
}
}
我还试图将这一行添加到WebConfig
,但没有帮助
<modules runAllManagedModulesForAllRequests="true" />
操作名称“GeneralInputs”应位于您的HeaderController中,而GeneralInputs.cshtml文件应位于Header视图文件夹中。如果两者都很好。然后,当光标位于GeneralInputs.cshtml页面时,不要运行应用程序。将光标保持在控制器中,然后运行应用程序 我想你不能这样请求这个页面:请求的URL
/Views/Header/GeneralInputs.cshtml
。您应该请求标题/GeneralInputs
。您必须在控制器中请求操作。不,控制器中的视图实际上非常有用:直接运行光标所在的页面(控制器/操作)
但是,当您经常从需要参数的视图或操作调用此选项时,您可以从Project | Properties | Web确定起点,然后选中
(o)特定页面
选项。好吧,两者都很好。但是我想知道为什么在.cshtml
页面中运行cursour时无法运行它。我知道我可以从控制器运行它,但是你应该请求Header/GeneralInputs
哦,是的,你说得对!所以我需要在我的GeneralInputs
控制器函数中重定向到该URL?在你的控制器中,我假设你有一个名为GeneralInputs
的操作,在这个操作中,你必须返回一个视图,它是你的.cshtml文件我需要重定向到该URL
好吧,实际上它无助于我更改返回视图()代码>到返回重定向(“标题/一般输入”)代码>但是没有帮助,那么您应该使用重定向到操作(“一般输入”)代码>转到“项目属性”,然后选择(o)特定页面。@HenkHolterman哇,这很有帮助!非常感谢。请加上作为答案
public ActionResult GeneralInputs()
{
return View();
}