不理解简单的页面

本文关键字:简单 不理解 | 更新日期: 2023-09-27 17:59:12

我正在努力理解教程

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

不理解简单的页面

不确定要对顶部的@{Layout=null;}部分做什么,请尝试删除它。如果你想在HTML部分显示一个变量,那就是你想要定义该变量的地方(至少在教程中他们是这样做的),如下所示:

@{ var myValue = "There"; } 

然后通过调用HTML部分中的变量

<div>
   Hello @myValue
</div>

编辑:随着您的学习,另一个好习惯是使用调试器(如果您使用的是chrome,f12)。很多时候,当出现问题时,它会帮助你确定是什么导致了问题。

如果您在WebMatrix中创建了页面,请确保您正在"运行"正确的文件。默认情况下,如果只单击运行,则default.cshtml文件将在浏览器中启动。如果要启动其他文件,可以在文件资源管理器中右键单击该文件并选择在浏览器中启动,也可以确保它是文件工作区中的当前页面并点击Ctrl + F12

在你的问题中有一些东西并不匹配,这让我认为你在WebForms应用程序中托管了一个ASP.NET MVC应用程序。(我可能错了)。此外,我自己在MVC4中测试了这一点,它运行得很完美,没有任何问题。

在ASP.NET MVC中,无法将.cshtml文件设置为默认文件。原因是.cs.HTML文件仅在控制器内部用于呈现HTML视图,而不是相反。这意味着一个视图可以由多个控制器使用。默认路由只能在~/App_Start文件夹中的RouteConfig.cs文件中更改。

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