C# 添加视图并显示它?
我对MVC一无所知。现在,我正在尝试在文件夹示例(位于视图文件夹下)中创建一个视图。我右键单击示例文件夹并选择“添加视图”,然后点击视图名称作为测试。创建视图后,我键入了以下代码:C# 添加视图并显示它?,c#,asp.net-mvc,asp.net-mvc-routing,C#,Asp.net Mvc,Asp.net Mvc Routing,我对MVC一无所知。现在,我正在尝试在文件夹示例(位于视图文件夹下)中创建一个视图。我右键单击示例文件夹并选择“添加视图”,然后点击视图名称作为测试。创建视图后,我键入了以下代码: <!DOCTYPE html> <html> <head> <title>Sample View</title> </head> <body> <p> Test </p>
<!DOCTYPE html>
<html>
<head>
<title>Sample View</title>
</head>
<body>
<p>
Test
</p>
</body>
</html>
示例视图
试验
建造。然后我尝试导航地址http://localhost:24694/Sample/Test
在我的浏览器中。但浏览器显示“找不到资源”。为什么?我还在示例文件夹(由其他人生成)中创建了其他cshtml文件,它们运行良好。例如,在Sample文件夹下有一个名为“Message.cshtml”的文件,我可以导航地址http://localhost:24694/Sample/Message
轻松自如。有什么我需要补充的吗?ASP.NET MVC基于的不是像ASP.NET webforms那样的文件系统。在内部构件之后,视图应该位于ASP.NET MVC应用程序模板的views
文件夹中,就像Controllers
应该位于Controllers文件夹中一样。它不是必需的,但默认情况下是从asp.net mvc framework设置的
在a控制器
(类)中,可以有一些操作
(方法),它们可以返回从操作结果
类型派生的视图、图像、文件等实现。这些操作可以使用控制器基类中的view
方法返回视图。默认情况下,asp.net mvc将搜索“Views”文件夹内的视图(.cshtml或.aspx文件)以及与控制器同名的文件夹(例如,如果您有如下控制器):
public class ProductController : Controller
{
public ActionResult Index()
{
return View();
}
}
它将在视图/Product/Index.cshtml
中找到一个视图,并为您呈现它。我建议您在中阅读更多内容。ASP.NET MVC是基于文件系统而非ASP.NET webforms。在内部构件之后,视图应该位于ASP.NET MVC应用程序模板的views
文件夹中,就像Controllers
应该位于Controllers文件夹中一样。它不是必需的,但默认情况下是从asp.net mvc framework设置的
在a控制器
(类)中,可以有一些操作
(方法),它们可以返回从操作结果
类型派生的视图、图像、文件等实现。这些操作可以使用控制器基类中的view
方法返回视图。默认情况下,asp.net mvc将搜索“Views”文件夹内的视图(.cshtml或.aspx文件)以及与控制器同名的文件夹(例如,如果您有如下控制器):
public class ProductController : Controller
{
public ActionResult Index()
{
return View();
}
}
它将在视图/Product/Index.cshtml
中找到一个视图,并为您呈现它。我建议您阅读更多关于3步流程的内容
1-定义路线
routes.MapRoute("Test", "test",
new { controller = "NameOfController", <- In your case TestController
action = "Index", <- Name of action in controller returning view
parameter = "parameterName - leave empty if no params needed"
});
routes.MapRoute(“测试”、“测试”,
新的{controller=“NameOfController”,3步流程
1-定义路线
routes.MapRoute("Test", "test",
new { controller = "NameOfController", <- In your case TestController
action = "Index", <- Name of action in controller returning view
parameter = "parameterName - leave empty if no params needed"
});
routes.MapRoute(“测试”、“测试”,
新的{controller=“NameOfController”,您不能使用
http://localhost:24694/Sample/Test
导航到视图,因为您只能通过控制器访问视图
首先,在controllers文件夹中创建一个新控制器,并将其命名为“SamplController”
默认情况下,将有一个名为Index()的操作方法
在“SampleController”内创建名为“Test”的新操作方法
现在,右键单击“Test”操作方法内部,然后单击添加视图。它将在名为“Test.cshtml”的视图文件夹中添加一个新的视图。您可以使用它。如果要将此视图放置在其他文件夹中,则必须修改“Test”操作方法的返回语句。例如,您在视图文件夹中创建了一个文件夹“MyViews”,并移动了“Test”.cshtml。现在,“Test”操作方法中的return语句如下
返回视图(“~Views/Sample/MyViews/Test.cshtml”)
而不是
返回视图()
现在当你使用
http://localhost:port/Sample/Test
它将创建“示例”控制器的新实例,并将调用“测试”操作方法。此方法将返回指定的视图。我希望它会有所帮助:)您不能使用
http://localhost:24694/Sample/Test
导航到视图,因为您只能通过控制器访问视图
首先,在controllers文件夹中创建一个新控制器,并将其命名为“SamplController”
默认情况下,将有一个名为Index()的操作方法
在“SampleController”内创建名为“Test”的新操作方法
现在,右键单击“Test”操作方法内部,然后单击添加视图。它将在名为“Test.cshtml”的视图文件夹中添加一个新的视图。您可以使用它。如果要将此视图放置在其他文件夹中,则必须修改“Test”操作方法的返回语句。例如,您在视图文件夹中创建了一个文件夹“MyViews”,并移动了“Test”.cshtml。现在,“Test”操作方法中的return语句如下
返回视图(“~Views/Sample/MyViews/Test.cshtml”)
而不是
返回视图()
现在当你使用
http://localhost:port/Sample/Test
它将创建“Sample”控制器的新实例,并将调用“Test”操作方法。此方法将返回指定的视图。我希望它能有所帮助:)在此向后操作。从控制器开始,添加一个操作,然后为该操作添加一个视图。您需要在SampleController
上添加一个名为Test
的方法,该方法返回视图return view()
。我会先阅读一些文档,比如在Controllers文件夹下需要一个名为SampleController
的控制器,或者将现有控制器配置为路由到该视图。您可以在此处向后操作。从一个控制器开始,添加一个操作,然后为该操作添加一个视图。您需要添加一个名为Test的方法在返回视图return view();
的SampleController
上进行编码>