文件 --> 新建 --> 项目
Visual C# --> Web --> ASP.NET Web应用程序
MVC此时处于选中状态,勾选“添加单元测试”(可选择)。
完成以上步骤,基本的项目创建完成,此时点击“F5”可运行项目,如下图所示。(为方便标识,此后用url代替“localhost:20391”)
MVC代表:模型-视图-控制器。
Models:标识该应用程序的数据并使用验证逻辑来强制实施业务规则的数据类
Views :应用程序动态生成HTML所使用的模版文件
Controllers:处理浏览器的请求,取得数据模型,然后指定要响应浏览器请求的视图模版
(右击)Controllers文件夹 --> 添加 --> 控制器
选择“MVC 5 控制器-空”
为控制器添加名称
添加后在Controllers文件夹中会多出文件“MvcMusicStoreController.cs”,并且在文件夹Views下会多出“MvcMusicStore”文件夹
目录结构如下所示:
修改控制器“MvcMusicStoreController.cs”文件中的代码为:
1 public class MvcMusicStoreController : Controller
2 {
3 public string Index()
4 {
5 return "This is my default action";
6 }
7
8 public string Welcome()
9 {
10 return "This is Welcome action method...";
11 }
12 }
此时重新运行程序,地址栏输入“url/MvcMusicStore”
ASP.NET MVC会调用不同的控制器类(和其内部不同的操作方法)这取决于传入URL。所使用的ASP.NET MVC的默认URL路由逻辑使用这样的格式来判定哪些代码以便调用:
可在App_Start/RouteConfig.cs文件内通过配置URL路由解析规则:
1 public class RouteConfig
2 {
3 public static void RegisterRoutes(RouteCollection routes)
4 {
5 routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
6
7 routes.MapRoute(
8 name: "Default",
9 url: "{controller}/{action}/{id}",
10 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
11 );
12 }
13 }
如果运行程序且不提供任何URL段,默认为“Home”的控制器和Index的操作方法,在上面的代码中的defaults部分指定:
浏览 url/MvcMusicStore/Welcome 。Welcome方法会被运行并返回字符串“this is the welcome action method...”。
默认的MVC映射为 /[Controller]/[ActionName]/[Parameter]对于这个URL,控制器类是MvcMusicStore,操作方法是Welcome,此处并未用到[Parameters]部分。
此处对Welcome方法进行修改,并使用了C#语言的可选参数功能,numTimes参数在不传值时,默认值为1。
1 public string Welcome(string name,int numTimes =1)
2 {
3 //return "This is Welcome action method...";
4 return HttpUtility.HtmlEncode("Hello " + name + ",NumTimes is :" + numTimes);
5 }
此时运行应用程序并浏览次URL(url/MvcMusicStore/Welcome?name=Long&numtimes=4)
上面的例子,没有用到URL段参数的部分(Parameters)。通过query strings传递name和numTimes的参数
用下面的代码替换“Welcome”的方法:
1 public string Welcome(string name,int ID =1)
2 {
3 //return "This is Welcome action method...";
4 //return HttpUtility.HtmlEncode("Hello " + name + ",NumTimes is :" + numTimes);
5 return HttpUtility.HtmlEncode("Hello " + name + ",ID:" + ID);
6 }
这次URL第三部分的参数匹配了参数ID。
控制器的默认程序是:
1 public ActionResult Index()
2 {
3 return View();
4 }
上面的Index方法使用一个视图模版来生成一个HTML返回给浏览器。控制器的方法(也被称为action method(操作方法)),如上面的Index方法,一般返回一个ActionResult(或从ActionResult所继承的类型),而不是原始的类型,如字符串。
如果想使用控制器中默认的Index方法,则需要在对应的Views中添加视图文件。
在Views/MvcMusicStore -->添加 -->“MVC5 View Page with(Layout Razor)”
在指定项名称中,输入“Index”
“选择布局页(s elect layout page)”-->"_Layout.cshtml"-->"确定",然后在解决方案资源管理器中看到View/MvcMusicStore/Index.cshtml文件。
交易额: 246.04万元
无 |江苏省 |南京市 |建邺区
交易额: 186.79万元
无 |河南省 |洛阳市 |洛龙区
交易额: 151.77万元
工作室 |浙江省 |台州市 |玉环县
交易额: 128.29万元
公司 |广东省 |深圳市 |南山区
成为一品威客服务商,百万订单等您来有奖注册中
价格是多少?怎样找到合适的人才?
¥1000 已有2人投标
¥20000 已有0人投标
¥3000 已有0人投标
¥50000 已有0人投标
¥5000 已有0人投标
¥10000 已有0人投标
¥100 已有2人投标
¥20000 已有6人投标