Web开发

首页 » 常识 » 诊断 » NET开发MVC返回默认视图返回指定
TUhjnbcbe - 2023/3/20 20:35:00
白癜风可以生姜擦吗 http://m.39.net/baidianfeng/a_4230600.html

01第1节:添加视图

ASP.NETMVC视图

使用VisualStudio创建一个新的ASP.NETMVC5Web应用程序项目,然后再创建一个控制器,根据此控制器再创建相应的视图。

第一步:创建MVC5项目

打开VisualStudioIDE开发工具,创建一个ASP.NETMVCWeb应用程序,如下图所示:

图1

在.NET应用程序中,Web应用程序不仅仅是MVC,还有ASP.NETWebForm应用程序,这里要创建的是MVC应用程序。

图2

在上图中创建了一个名称为“Product”的控制器,并且默认还创建了一个操作方法Index()。

第二步:创建Show()方法

现在我们不使用默认的Index()方法,而是创建一个自己的操作方法,这里创建Show()操作方法:

图3

在ASP.NETMVC中,每个控制器在项目结构的“Views”文件夹中都会存在对应的子文件夹,用来存储该控制器下所有操作方法对应的视图。

图4

那么所有在Product控制器下存在的视图都必须放在“Views”“Product”文件夹中。

第三步:创建视图

现在给Product控制器中的Show()操作方法创建对应的默认视图:

图5

这里不使用布局页,如果选择“使用布局页”复选框,则创建的视图会引用_viewstart.cshtml布局页。

注意:这里指定的视图名称必须与Show()方法名相同,才能是默认视图,这是ASP.NETMVC框架的约定。

图6

创建的视图名称为Show.cshtml,可见,ASP.NETMVC的视图是以.cshtml为扩展名的。

这样一个视图就创建完成了,在此视图中输入一些内容。现在运行一下结果。

图7

在访问控制器的视图时,要注意URL上先写控制器的名称Product,再写操作方法名,使用/隔开。这样就可以访问到控制器中的视图了。

02第2节:返回默认视图

在ASP.NETMVC控制器的操作方法中,如果返回的View()方法是空参数,则就会在“Views”—“Product”文件夹下查找与方法名相同的视图,然后返回给用户。

图8

这样就会将默认视图Views\Show.cshtml返回,这也是常用的一种,形成对应关系,应用程序结构也清楚。

03第3节:返回指定名称的视图

在ASP.NETMVC中,有时候并不需要返回默认视图,而是返回指定的某个视图,这也是可以的。例如:可以根据操作方法参数的不同,返回不同的视图,这都是可以的。

在“Product”文件夹下创建一个名称为List.cshtml的视图:

图9

现在有了这个视图,我们需要访问Product()操作方法时,返回的是List.cshtml视图,则可以使用如下C#代码实现:

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Mvc;namespaceWebApplication1.Controllers{publicclassProductController:Controller{publicActionResultShow(){returnView(List);}}}

注意:在给View()传递视图名称时,扩展名.cshtml是不需要的,如果写上就会出错。但该视图必须在对应控制器的文件夹中。

好了,上面的代码完成之后,定位到/Product/List页面,查看一下最终运行结果:

图10

在图10中,同样的URL地址,但是访问到的结果却是List.cshtml视图中的内容。

04第4节:返回指定路径的视图

在上面我们指定的视图都是按照ASP.NETMVC约定的规则来指定视图的。也可以指定Views文件夹下的其它路径下的视图。

注意:返回视图的路径中,必须是以~符号开头来返回视图的完整路径,并且视图也是必须放在“Views”文件夹下的,至于放在“Views”下的哪个子文件夹中,都是可以的。

在Show()方法中编写如下C#代码:

publicActionResultShow(){returnView(~/Views/Home/About.cshtml);//returnView(List);}

在上面的C#代码中,指定了带有路径的视图,路径中必须包括~/Views文件夹名称,否则找不到视图。还是运行结果吧:

图11

在图11中,同样的URL地址,访问到的页面内容是不一样的,这就是我们在ASP.NETMVC控制器的操作方法中改变了视图,从而访问到不同的的视图,从而呈现的结果也是不一样的。

1
查看完整版本: NET开发MVC返回默认视图返回指定