关于ASP.Net MVC介绍可以去菜鸟教程,这些基本的概念里面都有,下面就简单介绍一下VS2017如何创建一个ASP.Net MVC项目;
首先文件-新建-项目,然后找到下面图片中的选项
点击确定,在弹出来的向导中选择空项目,勾选MVC,然后点击确定
MVC,即Model(模型:应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据);View(视图:应用程序中处理数据显示的部分,通常视图是依据模型数据创建的);Controller(控制器:应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据);项目中都会自动创建相应的文件夹,创建好项目后界面如下:
右击Controllers添加控制器(c#文件),就选空的控制器,默认名是DefaultController,改为HomeController,注意控制器必须以Controller结尾,
文件中代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace WebApplication2.Controllers
{
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();//通过控制器将View里的Index返回给用户
}
}
}
这时候会自动在Views文件夹下创建Home文件夹,名字和添加控制器时对应,所以现在右击Home添加视图(.cshtml文件,即采用Rzaor的c#语法),视图名字就是上面代码中的方法名Index,其他的不用修改点击确定,现在就可以在Index.cshtml里写界面了,比如写两个输入框姓名和年龄,代码如下:
@{
ViewBag.Title = "这是我的第一个View";
}
<h2>Index</h2>
<p>Hello ASP.Net MVC</p>
@*这里action是跳转到Home下面的Login方法*@
<form action="/Home/Login" method="post">
<p>姓名:<input type="text" name="Name" /></p>
<p>年龄:<input type="text" name="Age" /></p>
<p><input type="submit" name="btnSubmit" value="提交" /></p>
@*使用Session对象记录信息*@
@*@{
Session["logInfo"] = "初始化";
}*@
@* 注意Razor语法,代码块必须包含在{}里 *@
@if (@Session["logInfo"] != null)
{
@Session["logInfo"].ToString();
}
@*这里取值*@
</form>
由于action是/Home/Login,所以需要在第一次添加的控制器Home里添加Login方法,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace WebApplication1.Controllers
{
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();//默认就返回View文件夹下的第一个
}
public ActionResult Login()
{
string msg = "";
//验证姓名是否为空;Request.Form("Name")):获取客户端的请求---表
//单Name里输入的内容
if (string.IsNullOrEmpty(Request.Form["Name"]))
{
msg += "姓名为空!!!";
}
int age;
//int.TryParse-->将参数转换为int型
if (!int.TryParse(Request.Form["Age"],out age))
{
msg += "年龄必须是整数!!!";
}
else if(age<20||age>30)
{
msg += "年龄不许在20-30之间";
}
//当输入没错误时
if (msg == "")
msg = "Hi " + Request.Form["Name"] + ",Welcome to learn ASP.Net MVC!";
//logInfo这个名字自己取
Session["logInfo"] = msg;//这里存值
return View("Index");//返回View文件夹下的Index
}
}
}
主要是掌握Request获取表单里的输入,然后CTRL+F5就可以运行了,VS还是很方面的,可以断点调试,效果如下:
输入格式不正确会弹出相应提示,
有的老版本用的是aspx而不是razor,注意下语法就好