读书人

ASP.NET C# MVC 初学(1)

发布时间: 2013-10-08 17:08:58 作者: rapoo

ASP.NET C# MVC 初学(一)

ASP.NET C# MVC 初学(一)

环境:VS 2010,MVC 3,不对之处,敬请指正。

一、初识MVC3

.

操作下如图,按确定按钮。

ASP.NET  C#  MVC 初学(1)

图1

在出现的下图中选择Internet应用程序,勾选创建单元测试项目,按确定。

ASP.NET  C#  MVC 初学(1)

图2

运行项目,出现以下页面。

ASP.NET  C#  MVC 初学(1)

图3

单击“关于”菜单项,出现如下页面。

ASP.NET  C#  MVC 初学(1)

图4

单击“[登录]”项,出现如下页面。

ASP.NET  C#  MVC 初学(1)


图5

在解决方案资源管理器中,依次双击Controllers、HomeControler.cs项,显示HomeControler.cs的内容如下,可见Controler类有两个返回为AactionResult 类的方法Index和 About。这两个方法都调用了View()方法。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace MvcApplication1.Controllers

{

public class HomeController : Controller

{

public ActionResult Index()

{

ViewBag.Message = "欢迎使用 ASP.NET MVC!";

return View();

}

public ActionResult About()

{

return View();

}

}

在解决方案资源管理器中依次双击View、Home,可见Home下有两个cshtml文件,分别名为About和Index,如下图所示

ASP.NET  C#  MVC 初学(1)

图6

注意到Views下的Home即对应着解决方案资源管理器中Controllers中的HomeController.cs,其中的About.cshtml和Index.cshtml分别对应着HomeController.cs文件中的和 About和Index方法。

在解决方案资源管理器中双击About.cshtml或Index.cshtml,可以看到他们的内容,以下是About.cshtmlt和Index.cshtml的内容:

@{

ViewBag.Title = "关于我们";

}

<h2>关于</h2>

<p>

将内容放置在此处。

</p>

@{

ViewBag.Title = "主页";

}

<h2>@ViewBag.Message</h2>

<p>

若要了解有关 ASP.NET MVC 的更多信息,请访问 <a href="http://asp.net/mvc" title="ASP.NET MVC 网站">http://asp.net/mvc</a>。

</p>

将以上代码和图3,图4进行对比,可知这两个文件的作用。

二、增加一个新的Controller和cshtml页面

现在我们增加一个Controller。并在其下建立一个cshtml页面。

在解决方案资源管理器中右击Controllers,依次选“添加”、“控制器”,在出现的“添加控制器”对话框中的“控制器名称”文本框中键入TestController,如下图,

ASP.NET  C#  MVC 初学(1)

图7

再单击“添加”按钮。

在解决方案资源管理器中双击TestController.cs进入其代码编辑器,如下图,

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace MvcApplication1.Controllers

{

public class TestController : Controller

{

//

// GET: /Test/

public ActionResult Index()

{

return View();

}

}

}

将其中的Index()改成Test(),右击Test(),在弹的菜单中选添加视图,在出现的对话框中单击“添加”按钮,如下图。

ASP.NET  C#  MVC 初学(1)

图8

三、增加调出Test.cshtml菜单项

现在我们增加Test.cshtml的菜单项。

在解决方案资源管理器中依次展开Views、 Shared,双击_Layout.cshtml,可见其内容如下:

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>@ViewBag.Title</title>

<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />

<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>

</head>

<body>

<div class="page">

<div id="header">

<div id="title">

<h1>我的 MVC 应用程序</h1>

</div>

<div id="logindisplay">

@Html.Partial("_LogOnPartial")

</div>

<div id="menucontainer">

<ul id="menu">

<li>@Html.ActionLink("主页", "Index", "Home")</li>

<li>@Html.ActionLink("关于", "About", "Home")</li>

</ul>

</div>

</div>

<div id="main">

@RenderBody()

<div id="footer">

</div>

</div>

</div>

</body>

</html>

在“<li>@Html.ActionLink("关于","About", "Home")</li>”下面增加一行,内容为

“<li>@Html.ActionLink("测试", "Test","Test")</li>”,运行项目,可见增加了名为“测试”的菜单项,单击该菜单项,显示Test.cshtml的内容。

ASP.NET  C#  MVC 初学(1)

图9

现在我们对Global.asax进行设置,使新建的Test.cshtml成为项目启动页。

在解决方案资源管理器中双击Global.asax,将

“new { controller = "Home",action = "Index", id = UrlParameter.Optional }”

改为

“new { controller = "Test",action = "Test", id = UrlParameter.Optional }”

运行项目,可见达到目的。

以上我们增加了一个TestController.cs的Controller(下称控制器),并增加了与之对应的名为Test的View(下称视图),并在该视图下增加了Test.cshtml的页面。

四、在已有控制器增加一个增加一个新的页面

在解决方案资源管理器中,依次双击Controllers、HomeController.cs图标,显示HomeControler.cs的内容如下,

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace MvcApplication1.Controllers

{

public class HomeController : Controller

{

public ActionResult Index()

{

ViewBag.Message = "欢迎使用 ASP.NET MVC!";

return View();

}

public ActionResult About()

{

return View();

}

}

在publicActionResult News() 方法下增加一个同样的方法,名为News,如下所示代码中的粗体部分。

……

public ActionResult About()

{

return View();

}

public ActionResult News()

{

return View();

}

……

在上述的代码编辑窗口中右击News(),选添加视图,在弹出的添加视图对话框单击添加按钮。

依照第三的方法,增加该页面的菜单项。

<li>@Html.ActionLink("新闻","News", "Home")</li>

运行项目并单击新闻菜单项,已达到目标,如下图所示。

ASP.NET  C#  MVC 初学(1)

图10

读书人网 >ASP

热点推荐