路由
在mvc项目中与路由相关的配置信息存放在App_Start文件夹下的RouteConfig.cs文件里
RouteConfig.cs配置信息如下:
其中”name“可以取任意的名字
url: “{controller}/{action}/{id}”,指定了访问网站的url规则;
例如:如果项目Controllers文件夹里有个叫”HomeController.cs”的文件
文件内容如下:
在该控制器下有默认有三个视图(View),分别为About、Contact和Index(没有截出该部分代码).
Views文件夹里分别有对应的视图文件,如下图:
根据URL规则,如果想要访问About视图,即运行项目时想跳转到About页面,
那么在地址栏里输入http://localhost:端口号/Home/About就会跳转到About页面。
(上面提及的端口号是有iis自动提供的,一般不需要输入)
form(自己添加的一个view)ViewResult是ActionResult的子类。
ViewBag是一个视图包,可以把控制器的信息传递到视图,加入到视图包里的数据可以任意类型的数据,
在form.cshtml文件里可以访问ViewBag传递过来的数据。
@model string
@{
ViewBag.Title = "form";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>form</h2>
<div>
<b style="color: #8b0000">@ViewBag.times</b>
</div>
运行结果如下:
一下子又扯远了,好吧,回来看一下RouteConfig.cs配置信息里的
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
这是启动项目后默认的路由,即一启动项目就会跳转到Index页面。
id = UrlParameter.Optional则指明是可选的,即输入URL时id可有可无。
另外可以根据需要修改默认的路由
比如我可以把路由修改为
defaults: new { controller = "MyUrl", action = "like", id = UrlParameter.Optional }
启动项目时会默认跳转到http://localhost:端口号/MyUrl/like.
这是本人第一个MVC项目,如有理解有误之处欢迎各位大神指教。