ASP.NET MVC 学习第一天

今天开始第一天学习asp.net mvc,写的不是很好,高手不要喷,希望大家能一起进步学习。

好了,开始学习

新建项目,选择mvc 4应用程序

接下来选择基本,视图引擎当然要选择Razor,如果在选择aspx那我们就没必要用mvc喽

在这里我们简单说一下,项目模板如果选择空,这就需要我们自己进行导入很多文件,而选择基本vs会自动导入需要的文件,对mvc不熟的人,还是先老实一点吧。

后面两个Internet、Intranet一个是网络web,一个是内网的。没有用过,也不是很了解。移动选项应该是开发手机相关的,api是提供第三方的接口使用的(类似于web service,轻量级)。

点击确定,vs会给我们导入好多文件。好奇一下,可以看一下项目文件夹下的packages的文件夹,里面好多文件啊,包括我们之前学习的ef,还有最重要我们将要学习的mvc库。

看一下解决方案资源管理器

其中App_Data没有太大的用处,主要是可以将数据库放入其中,该文件夹下的内容是不准请求访问的。可删除

App_Start是网站启动的时候用到的一些配置信息文件,里面有个路由文件相对重要一些。这里面的内容在全局文件中会依次调用的。

 简单的分析一下路由的配置,看下RouteConfig.cs里面的内容

 1 public static void RegisterRoutes(RouteCollection routes)
 2         {
 3             routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
 4 
 5             routes.MapRoute(
 6                 name: "Default",
 7                 url: "{controller}/{action}/{id}",
 8                 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
 9             );
10         }
View Code

下面是我的请求

因为我没有写全路径,所以请求的是默认路径,那为什么报错了呢?那是因为我还没有写默认配置的home控制器和index方法。现在我们将该控制器和方法写好。

在Controlllers文件夹下添加控制器Home,注意控制器名称必须以Controller结尾

下面是vs给我们自动生成好的代码,遗憾的是vs只给我们生成了默认的index方法,但是没有给我们生成视图。控制器必须要继承自Controller

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 namespace MvcApplication1.Controllers
 8 {
 9     public class HomeController : Controller
10     {
11         //
12         // GET: /Home/
13 
14         public ActionResult Index()
15         {
16             return View();
17         }
18 
19     }
20 }
View Code

我们在index方法上点击右键添加视图便可以添加视图了。但我先不这样做,我要改写这个方法,为了是先简化学习。稍后再学习视图部分。下面是我改后的方法,怎么样,很简单吧。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 namespace MvcApplication1.Controllers
 8 {
 9     public class HomeController : Controller
10     {
11         //
12         // GET: /Home/
13 
14         public string Index()
15         {
16             return "The first mvc";
17         }
18 
19     }
20 }
View Code

现在我们再用刚才报错那个地址访问以下吧,怎么样?结果出来了吧!

当然这个地址是默认配置的,标准的我们应该访问的是localhost:4348/home/index 这个地址。怎么样,哈哈,我们终于甩掉aspx这个恨人的尾巴了。

其实mvc会根据url路径去与配置的路由匹配。会将localhost:4348/home/index地址分拆,home匹配控制器,index匹配方法,我们不妨试试,如果你将HomeController改掉,这时访问就会报错了。我们也可以将路由配置中的url: "{controller}/{action}/{id}"中的controller与action调换一下,改为url: "{action}/{controller}/{id}",访问一下,是不是又出错了呢?因为这个路由解析地址的时候就会将Home当做方法index当成控制器,这样当然会报错了,但我们可以讲url访问地址写成localhost:4348/index/home,这样仍然可以访问了,是不是有些明白了呢?

刚从aspx那转过来的,可能这里不太好理解。画张图,简单理解一下

 

上面的方法中我返回了一个字符串,这就像我们aspx中的一般处理程序一样,所有的html代码都要自己写才能返回浏览器,而后面要学习的视图(项目中的Views文件夹下)就是html代码了。下面我们来看一下视图吧,我们在home控制器中添加一个test方法

1 public ViewResult test()
2 {
3       return View();
4 }

 可以选择手动或自动两种方式添加视图,先介绍手动的方式,既然test方法是在home控制器中,所以在views文件夹中添加一个home文件夹,所有控制器中的方法视图都要views文件夹下相应的控制器名称文件下。在Views/Home/下添加视图,注意,视图名称约定要与方法名一样。之后会介绍怎么可以使方法与视图名称不一样。

下面就是vs自动生成的视图文件。

我们也可以选择自动生成视图的方法,那就是在方法名称上右键添加视图,同样可以生成视图文件,效果是一样的。

 1 @{
 2     Layout = null;
 3 }
 4 
 5 <!DOCTYPE html>
 6 
 7 <html>
 8 <head>
 9     <meta name="viewport" content="width=device-width" />
10     <title>test</title>
11 </head>
12 <body>
13     <div>
14         
15     </div>
16 </body>
17 </html>
View Code

 

生成的文件名是cshtml后缀,奇怪吧。修改一下内容,然后访问一下吧。

@{Layout = null;
}<!DOCTYPE html><html>
<head><meta name="viewport" content="width=device-width" /><title>test</title>
</head>
<body><div>The first view of mvc</div>
</body>
</html>
View Code

好了,今天就这样吧,简单介绍一下,下面将要介绍razor视图引擎的语法。

转载于:https://www.cnblogs.com/ljs0322/p/3793537.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/375789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python提取字符串中的数字

字符串存储在string.txt中&#xff0c;将字符串中的数字提取出来&#xff0c;组成心得字符串&#xff0c;并打印输出。 #!/usr/bin/env python3 fileopen(/home/user/string.txt) file_contextfile.read() i0 string while i < len(file_context):if file_context[i].isdig…

计算机显示发送报告,Word文档打不开提示发送错误报告的解决方法

经常使用word文档的人员都会碰到过这种发送错误报告情况&#xff0c;既然有这个问题就要查个究竟什么原因造成&#xff0c;才能完美解决&#xff0c;那么今天小编就在这里讲解word文档发送错误报告的方法。根本原因是&#xff1a;打开word出现提示word发送错误报告的故障其主要…

asp.net mvc 如何在View中获取Url参数的值

如果url是 /home/index?id3 直接Request就ok。 但是如果路由设定为&#xff1a;{controller}/{action}/{id} url是 /home/index/3 这时想在页面View中获取参数id的值&#xff0c;该怎么获取&#xff1f; 查了下资料好多人都利用Action获取到参数值后&#xff0c;用Viewdata…

js 控制

js 制动控制 代码 是 :setInterval(function(){$(".egg").click();},1000); 使用方法&#xff1a;调出浏览器放控制台(console)&#xff0c;一般是按F12&#xff0c;将上述代码粘贴后回车就可以自动运行了。转载于:https://www.cnblogs.com/Look_Sun/p/3798903.htm…

python读取文本文件的三种方法

参考链接 python读取文本文件的内容&#xff0c;有三种方法。 read()、readline()、readlines() read() read()是最简单的一种方法&#xff0c;一次性读取文件的所有内容放在一个大字符串中&#xff0c;即内存中。 fileopen(test.txt) try:file_contextfile.read() #file…

图灵计算机模型意义,图灵机有什么意义_学习图灵机模型中遇到的问题

图灵机意义图灵提出图灵机的模型并不是为了同时给出计算机的设计&#xff0c;它的意义我认为有如下几点&#xff1a;1、它证明了通用计算理论&#xff0c;肯定了计算机实现的可能性&#xff0c;同时它给出了计算机应有的主要架构&#xff1b;2、图灵机模型引入了读写与算法与程…

使用MVVM-Sidekick开发Universal App(一)

终于要迈进Universal的大坑了&#xff0c;还有点小激动呢。 CurrencyExchanger 掌中汇率是我前几年发布在Windows Phone商店中的一个应用&#xff0c;当时是WP7版本&#xff0c;下载链接&#xff1a;http://www.windowsphone.com/zh-cn/store/app/%E6%8E%8C%E4%B8%AD%E6%B1%87%…

NewCode----给定两个数R和n,输出R的n次方

参考链接 输入描述: 多组测试用例&#xff0c;请参考例题的输入处理 输入每行一个浮点数 R 其中0.0 < R <99.999&#xff0c; 一个整数 n 其中0 < n <25 输出描述: 输出R的n次方 输入例子1: 95.123 12 0.1 1 输出例子1: 548815620517731830194541.89902534…

如何检测本计算机耗电量,如何查看电脑耗电量?鲁大师查看电脑使用功率的方法...

【www.xinr41319.cn--电脑网络】查看自己电脑的电源功率有两大好处&#xff0c;第一知道给台式电脑配置多大的电源&#xff0c;第二可以精确的算出&#xff0c;一台电脑&#xff0c;一天一般消耗多少电&#xff0c;那么小编教大家来查看一下自己电脑的功率是多少。我们可以要借…

【转载】COM小结

原文&#xff1a;http://blog.csdn.net/byxdaz/article/details/6595210 一、Com概念 所谓COM&#xff08;Componet Object Model&#xff0c;组件对象模型&#xff09;&#xff0c;是一种说明如何建立可动态互变组件的规范&#xff0c;此规范提供了为保证能够互操作&#xff0…

解决Dropbox无法连接的问题

同步共享服务Dropbox从6月18日开始再次遭到封锁&#xff0c;原因是DNS污染。Dropbox上次在2010年5月曾遭到IP封锁和网址关键字过 滤&#xff0c;2012年5月除文件外链功能外其它功能可正常访问&#xff1b;2014年2月全部功能都可以正常访问。中国正展开净网行动&#xff0c;文件…

求任意数的阶乘

这是笔试的第二题&#xff0c;求任意数的阶乘其实实质也就是大数相乘&#xff0c;很可惜没有在规定时间内完成这道题&#xff0c;估计这次笔试凉凉。 #include<iostream> using namespace std;int result[200] { 0 }; int N; void fun(int n) {int temp;int i;int carr…

RDLC报表系列一

1、报表项目搭建&#xff1a; 配置好后&#xff0c;单击Web服务URL:http://lg-20151517ryre/ReportServer 如果电脑系统打开的时候没有设置密码的话&#xff0c;此时打开有可能会出现需要登录名和密码。如出现此种情况可给Administrator设置密码。然后刷新当前页面就可以看大上…

.net 服务器自动执行,自动检测服务器使用流量并执行命令脚本

#codingutf-8limit_total0# limit_total 上传下载的流量限制&#xff0c;单位GB&#xff0c;如果不限制就是0&#xff0c;如果限制1T就是1024limit_in0# limit_in 下载的流量限制&#xff0c;单位GB&#xff0c;如果不限制就是0&#xff0c;如果限制1T就是1024limit_out0# limi…

Android APK是否需要预解压

今天在逛论坛的时候&#xff0c;发现有一个朋友问的问题。其主要目的&#xff0c;是想实现 玩家首次进入游戏的时候&#xff0c;或者新安装了版本的时候&#xff0c;对APK进行解压&#xff0c;写入SD卡。这样游戏运行过程中&#xff0c;将不会再从APK中读取资源。 以提高效率。…

C++开发秋招笔试题

第一题&#xff1a; 记得不太清了&#xff0c;凑合看吧&#xff01; 输入&#xff1a; 第一行&#xff1a;T 表示有T个测试用例 以下N行&#xff1a; 输入的T个测试用例 测试用例&#xff1a; 每个输入包含四个输入&#xff0c;a&#xff0c;b&#xff0c;c&#xff…

ADS-B显示终端5.9

更改日志 1 更新背景地图。增加了全国范围内的VOR电台、DME、NDB导航台信息&#xff0c;包含有坐标信息、代码信息、频率等内容。 VOR电台、DME、NDB导航台信息来自中国民航局公布的航行情况资料汇编。VOR、DME、NDB分别採用不同的图形绘制&#xff0c;目标均採用淡绿色画笔…

域名自动跳转不搭建服务器,宝塔搭建的服务器WEB系统环境如果做域名301跳转

宝塔搭建的服务器WEB系统环境如果做域名301跳转今天老蒋遇到一个网友&#xff0c;服务器WEB系统环境是用宝塔搭建的&#xff0c;搭建的网站绑定过WWW域名和不带WWW域名&#xff0c;他是希望能全部统一到WWW的域名&#xff0c;这里应该是他程序没有自带301跳转&#xff0c;如果是…

求两个字符串的最长公共子串

给出两个字符串&#xff0c;求出两个字符串的最长公共子串 #include<iostream> #include<string> using namespace std; int main() {string a, b;while (cin >> a >> b){if (a.size() > b.size())swap(a, b);string str_m;//存储最长公共子串for …

修改模型的原点

Mesh mesh 坦克.GetComponent<MeshFilter>().mesh; Vector3[] vertices mesh.vertices;foreach(vertices v in vertices ) {v new Vector3(要移动的距离)}mesh.vertices vertices; mesh.RecalculateBounds();转载于:https://www.cnblogs.com/mukeyang/p/4633085.html…