您的位置:首页 > 移动开发

mvc基本知识----页面跳转和页面直接数据的传递

2010-03-08 21:09 489 查看
这段时间由于过年在家 玩了一段时间游戏,过了年到上海来又忙着找工作

导致有一段时间没写blog了

游戏从今天开始 戒了。

公司现在使用mvc框架进行开发

下面是我这两天的一点心得。 网上太多了,我这里只讲页面的打开和传递数据。

 

首先 大家新建一个mvc项目

需要版本 vs2008 sp1及以上才可以

 

建立好之后

 

框架会给你生成了models views Controllers文件夹 分别代表 mvc 中的数据实体类,视图,控制端。

 

在views文件夹下,会有3个文件夹,这里我用home文件夹实例。home文件夹下 会有两个aspx页面,

但是打开后,看不到以往的代码。mvc的设计模式 里没有服务器控件,全部是html控件。大量减少了服务器回发,减少了对服务器的压力,当你右击页面的时候,是不是发现找不到“在浏览器中查看的选项”?

这就是我今天要讲的内容。

 

 

在asp.net mvc模式中,vs平台会给你自动创建好项目,views文件夹下的文件夹就是你contorller

在Controllers文件夹下新建一个和你自己的定义的文件夹名字一样的controller

比如你的views文件夹下定义一个 test 文件夹,对应的controller就是testControlle

 

下面还已home为例。

 

打开homecontroller 控制器 会发现2个方法

 

没错,这两个方法就是打开view的方法

[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";

return View();
}

public ActionResult About()
{
return View();
}
}


这里的方法就是action

这里的方法就是页面对应的名字,ActionResult. View()有8个重载,默认不写是当前方法一样的view

 

 

下面在来看看 Index方法 中间有ViewDate["Message"]="Welcome to ASP.NET MVC"

这样一句话,其中ViewDate[""]是键值对保持数据的 只能保存本页面的数据,如果跨页面传值这种方法是不可取的。

MVC提供了强大的url路由功能。

下面打开default.aspx页面

会直接定向到home/index这个view

下面看看Global.asax下的Application_Start方法

public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
"Default",                                              // Route name
"{controller}/{action}/{id}",                           // URL with parameters
new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
);

}

protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}


这里的{controller}{action}{id}如果不加“{}”就是字符串匹配 加上就是cotroller/action/id

按照这样的url去寻找方法。

 

 

参考http://www.cnblogs.com/vera_lu/archive/2009/01/09/1372548.html

这上面讲解的比我详细,也比我写的好,至少有图。。。据说无图无真相。。。。

 

明天介绍google maps api的使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息