不了解简单的页面

时间:2014-04-21 22:42:52

标签: c# razor

我正在尝试理解本教程

http://www.asp.net/web-pages/tutorials/basics/2-introduction-to-asp-net-web-programming-using-the-razor-syntax

我有一个我正在尝试的测试页

 @{
     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

3 个答案:

答案 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文件设置为默认文件时,这是您所做的吗?