网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

Asp.NetMVC实践(基于ASP.NETMVCPreview2)

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
at("article{0}/edit/{{id}}", WebConfig.MvcHandle), new MvcRouteHandler())
{
Defaults = new RouteValueDictionary(new { controller = "article", action = "edit", id = "0" }),
Constraints = new RouteValueDictionary(new { id = "\\d+" }),
});
routes.Add(new Route(string.Format("article{0}/delete/{{id}}", WebConfig.MvcHandle), new MvcRouteHandler())
{
Defaults = new RouteValueDictionary(new { controller = "article", action = "delete", id = "0" }),
Constraints = new RouteValueDictionary(new { id = "\\d+" }),
});
routes.Add(new Route(string.Format("article{0}/{{action}}/{{page}}", WebConfig.MvcHandle), new MvcRouteHandler())
{
Defaults = new RouteValueDictionary(new { controller = "article", action = "index", page = "1" }),
Constraints = new RouteValueDictionary(new { page = "\\d+" }),
});
routes.Add(new Route("default.aspx", new MvcRouteHandler())
{
Defaults = new RouteValueDictionary(new { controller = "article", action = "index", page = "1" }),
});
routes.Add(new Route("index", new MvcRouteHandler())
{
Defaults = new RouteValueDictionary(new { controller = "article", action = "index", page = "1" }),
});
}


其中,routing部分是如”/article/list/{category}/page”的部分,它定义了url的格式,更加清晰表明页面的意义.Defaults是默认的值, Constraints是对参数的正则验证,为了使用Constraints,传入的参数必须是String类型的.

然后到Web.Config中添加HttpModule


<add name="UrlRouting" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing"/>
<add name="UrlRoutingInit" type="MvcArticle.Web.Routing.RoutingModule, MvcArticle.Web"/>


第一个是MVC框架的Routing模块,第二个HttpModule中则是初始化Rouring的(一般初始化在Globle.ascx中,本Demo只是使用了另外一个方法.)

接下来,我们来创建Controllers部分,在Controllers目录下建立ArticleController控制器,该控制器被自动映射在”{controller}=”article”的url上,即所有访问url为article/…/…的url都归该类处理.而该类中的方法被成为Action,自动映射在Url中的Action部分.比如我访问/article/list/1/1实际上执行的是ArticleController类的List方法,而且该方法有两个参数,在本例中是访问了ArticleController.List(int category,int page)方法.默认情况下,Controller类中的所有方法都是Action,这点和Mvc的先前版本不一样,如果某个方法你不想让用户访问到,则可以加上[NonAction]属性.

关于View部分,默认的View页面应该要继承自System.Web.Mvc.ViewPage类,该类有泛型版和非泛型版,很显然,在显示数据的时候优先使用泛型版,比如demo中的list.aspx中, public partial class index : System.Web.Mvc.ViewPage<IList<ArticleContent>>此处就可以看出Controller传给View的数据是IList<ArticleContent>类型的,代码更易于维护.在MVC中,由于没了PostBack的概念,因此服务器控件都失去了交互性,因此在View部分完全可以抛弃服务器控件了,当然,如果想使用表现控件还是可以的,在本Demo中,则是和官方例子一样回归到使用内嵌c#代
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师