我无法使用MVC映射我的网站。
以下页面层次结构的控制器和视图是什么?
指数(主页)
- >玩家
--->目录
- - - - >前锋
- - - - >防御
--->简介
- - - - >新闻
- - - - >统计
- >队
--->目录
------>科
--->团队资料
- - - - >新闻
- - - - >统计
以/ Players / Profile / Stats为例,是'Profile'控制器和'Stats'视图?什么是'球员'? “玩家”的默认(索引)页面是“目录”。 “玩家”也会成为控制者吗?
有没有更好的方法来构建这个网站?
感谢您的回答。现有示例为http://sports.yahoo.com/nhl/players/4351这是个人资料页面。如果单击其他选项卡(例如“拆分统计”),则会显示另一个视图。这就是我想要构建它的方式。在雅虎网址中,似乎“玩家”是一个视图,ID是视图的参数。但是,当您单击其他选项卡时,另一个视图似乎会附加到URL(例如http://sports.yahoo.com/nhl/players/4351/splits)。在这种情况下,“玩家”是视图还是“拆分”视图吗?
答案 0 :(得分:0)
Controller
是一个创建的类,其作用是从get / post获取数据并确定应返回哪个View
。这是通过名为Actions
一个例子......
MyController - >有行动 - >首页 - >家庭行动回归 - >主页视图
答案 1 :(得分:0)
您可以根据自己的喜好构建自己的应用。这看起来很合理。
在您的示例“/ Players / Profile / Stats”中,玩家将成为您MVC应用程序中的区域。配置文件将是您的ProfileController.cs,统计信息将是该控制器中的一个操作(具有相同名称的相应视图:Stats.aspx)。
答案 2 :(得分:0)
控制器和操作并不总是使用您提供的导航地图一对一地映射。但是,在您的情况下,我可能会创建以下控制器:
PlayerController
TeamController
PlayerController可能会执行以下操作:
GetAll()
GetForwards()
GetDefense()
GetProfile(id)
GetNews(id)
GetStats(id)
TeamController可能会:
GetAll()
GetByDivision(id)
GetProfile(id)
GetNews(id)
GetStats(id)
然而,由于很难从你的导航地图中准确地说出意图,我不能肯定地说。