我是MVC的新手。我有些疑惑。
1)我的MVC应用程序包含
i)Default.aspx
ii)Views
... Home
... About.aspx
... Index.aspx
在执行期间哪一个会首先加载Default.aspx?或者About.aspx?
2)我想显示一个列出菜单项(LinkButtons)作为起始页面的网页。为此,我需要设计一个视图或网页吗?
答案 0 :(得分:2)
首先,我建议您阅读Model-View-Controller模式的工作原理。
回答你的问题:
Default.aspx文件适用于需要默认文档来启动ASP.NET MVC处理程序的旧版IIS。 IIS7使用web.config中的映射来完成此操作。因此,当您访问MVC应用程序时,无论哪个路由配置为默认值都将首先加载。 View文件夹中的.aspx文件当然是您的视图。这些内容由控制器操作返回。
ASP.NET MVC使用视图,但我认为没有什么可以阻止你在某处放置一个普通的.aspx页面。不过,我不推荐它,因为最好坚持使用MVC模式(毕竟这就是ASP.NET MVC的全部内容)。如果您想在多个地方显示您的菜单,我建议您使用“部分视图”。如果要在所有页面上显示菜单,请将其放在“母版页”中。
答案 1 :(得分:0)
我认为你应该先开始阅读asp.net mvc书。
的
答案 2 :(得分:0)
检测Default.aspx以允许路由。不要删除它,但它实际上不会显示。默认路由(在Global.asax.cs中定义)将是/ home,它将转换为主控制器上的索引操作。
只需更改家庭控制器的索引视图即可。它已设置为“开始”页面。
答案 3 :(得分:0)
1)取决于global.asax中定义的路由,但默认情况下,Home控制器和索引操作将返回index.aspx
2)你可以混合网页表单和MVC,但除非你有充分的理由,最好坚持使用MVC,所以你应该使用一个视图,
你应该转到mvc site,有很多很好的教程和例子。
答案 4 :(得分:0)
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Account", action = "LogOn", id = UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
这是global.asax文件中的代码,它告诉您到应用程序的默认路由 至于您的默认设置,您的控制器将是主页,您的操作是索引 对于我来说,当我调试并启动应用程序时,它将首先调用 Application_start方法,然后出现 RegisterRoutes 的下一个代码... 在哪里放置maproute方法并导航到应用程序