我正在尝试理解本教程
我有一个我正在尝试的测试页
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Test</title>
</head>
<body>
<div>
Hello there
</div>
</body>
</html>
但是当我运行页面时没有出现
F12显示了这一点:
<html>
<head></head>
<body>
</body>
</html>
我不明白我做错了什么?
我正在尝试这个测试项目......同样的问题:https://github.com/sergiotapia/MicroShopping
答案 0 :(得分:0)
不确定你要用@ {Layout = null;在顶部,尝试删除它。如果您正在寻找在HTML部分中显示变量,那么您可能希望定义该变量(至少看起来他们是如何在教程中执行此操作),如下所示:
@{ var myValue = "There"; }
然后通过
在HTML部分中调用该变量<div>
Hello @myValue
</div>
编辑: 如你所知,进入的另一个好习惯是使用调试器(如果你使用chrome,f12)。很多时候出现问题,它会帮助你确定导致问题的原因。
答案 1 :(得分:0)
如果您在WebMatrix中创建了该页面,请确保您正在“运行”正确的文件。默认情况下,如果您只需单击运行,default.cshtml
文件将在浏览器中启动。如果要启动其他文件,可以在文件资源管理器中右键单击它,然后选择在浏览器中启动,或者确保它是文件工作区中的当前页面并点击{{1 }}
答案 2 :(得分:0)
在您的问题中有一些事情并不匹配,这让我觉得您在WebForms应用程序中托管了一个ASP.NET MVC应用程序。 (我可能错了)。另外,我自己在MVC4中对此进行了测试,并且它完美无缺地运行。
在ASP.NET MVC中,无法将.cshtml
文件设置为默认文件。原因是因为.cshtml文件仅在Controller内部用于呈现HTML视图,而不是相反。这意味着View可以由多个Controller使用。默认路由只能在RouteConfig.cs
文件夹中的~/App_Start
文件中更改。
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 = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
当您说将.cshtml
文件设置为默认文件时,这是您所做的吗?