最近才接触asp.net mvc3 不过现在mvc已经发展到4了,本人新手,所以先从3开始学.本人深知mvc的重要性,对于一个编程人员说,如果学会了mvc,那么技术就会更上一层楼。
以下是本人记录的笔记(好记性不如烂笔头,这句话看似愚昧实则很有用):
创建第一个(简单)控制器
*控制器是核心
1、创建新控制器
首先添加一个HomeController。操作本人就不多说了。控制器命名的时候,后缀的Controller不能变,修改前面的被选中的字符。
2、编写方法
新创建的HomeController控制器已经有了一个Index方法,控制器的操作是响应URL请求,执行适合的操作,并向浏览器或者单击这个URL的用户做出响应。
namespace MvcTest.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
public string Index()
{
string message = "Hello this is Home.index()";
return message;
}
//GET: /Home/About/
public string About()
{
string message = "Hello this is Home.About()";
return message;
}
// GET: /Home/Details?s=wt
public string Details(string s)
{
//如果是字符一定要记着防注入
string message = HttpUtility.HtmlEncode("Hello this is Home.Details() s="+ s);
return message;
}
//Home/Browse/6
public string Browse(int ID)
{
string message = "Hello this is Home.Browse() " + ID;
return message;
}
}
}
最后的Browse()方法中,asp.net mvc的默认路由规定,将操作方法名称后面的URL的这个片段作为名称为ID的参数,如果方法中有名称为ID的参数,那么asp.net mvc将自动将这个URL片段作为参数传递过来.
其上的方法Details方法中,HttpUtility.HtmlEncode()方法是用来预处理用户输入的,这能防止用户向视图链接中注入js代码或者html代码,比如:/Home/Details?s=<script>window.location='http://www.google.com'</script>。
3、运行效果
运行项目,输入以下url:
/Home
--界面显示:Hello this is Home.index()
/Home/About
--界面显示:Hello this is Home.About()
/Home/Details?s='ha'
--界面显示Hello this is Home.Details(),s=ha
/Home/Browse/6
--界面显示Hello this is Home.Browse(),ID=6