ASP.NET MVC开发专题博客

ASP.NET MVC开发专题博客,为您精选ASP.NET MVC开发教程,助您开发愉快!

公告信息
欢迎光临ASP.NET MVC开发专题博客,祝您开发愉快!
文章档案
最新评论

ASP.Net MVC 优化Html.RouteLink或Url.RouteUrl调用次数

ASP.Net MVC 优化是成长的一个阶段,今天简单介绍一下ASP.Net MVC 优化Html.RouteLink或Url.RouteUrl来降低调用次数,内容如下:

定义一个MVC路由规则

        string[] controllerNamespaces = new string[] { "Web.Controllers" };
        routes.MapRoute(
            
"Details",
            
"Details/{productId}",
            
new {controller="Product", action="Details"},
            
new {productId = @"\d+" },
            controllerNamespaces
        );


以前生成链接是这么做的:

        foreach (var item in Model) {
            Writer.Write(Html.RouteLink(item.Title, 
"Details"new { ProductId=item.ProductId}));
        }

现在改为这样了:

        string detailsLinkFormat = Html.RouteLink("{1}""Details"new { ProductId=0 })
            .ToString().Replace(
"0""{0}");
        StringBulder sb 
= new StringBuilder(Model.Count());
        
foreach (var item in Model) {
            sb.Append(
string.Format(item.ProductId,detailsLinkFormat,item.Title));
        }
        Writer.Write(sb.ToString());

首先生成一个链接地址:
<a href="http://cyqdata.com/Details/0">{1}</a>

将“0”替换成“{0}”后就成了这样:
<a href="http://cyqdata.com/Details/{0}">{1}</a>

然后我们根据这个格式去生成Url地址即可。

简洁起见,以上代码没进行Model空校验、Url编码处理、Html编码处理、列表格式化等。

本文比较简单,ASP.Net MVC 优化Html.RouteLink或Url.RouteUrl调用次数就介绍到这里了。

如果涉及数据库操作,推荐一款配套的ORM框架:CYQ.Data 通用数据层框架
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"

2011/9/8 4:15:10 | ASP.NET MVC教程 | |

  • 发表评论