首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Html.ActionLink非常慢

Html.ActionLink非常慢
EN

Stack Overflow用户
提问于 2013-04-15 17:48:22
回答 1查看 1K关注 0票数 6

我正在使用MVC 4和Razor视图引擎。

我有一个Html.ActionLink("Title", "Action")调用,它是在一个包含大约200个项的foreach循环中调用的,这需要大约550 is才能完成。如果我用一个简单的字符串替换ActionLink,它只需要~50 If > Html.ActionLink需要500 If进行200次迭代!

有办法加快速度吗?

我有5个这样的循环,所以我的页面需要>3s来呈现.

在web.config中发布build并且没有调试属性是没有帮助的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-16 06:23:49

我结合了注释中的几个技巧,为整个页面的呈现实现了从~3s到~250 3s的缩减。最大的变化是:

  • 从我的自定义路由缓存DB查询(-> 2/3每次调用节省时间)
  • “再生”链接,并只替换其中的部分: 我在foreach循环之前执行了一个@{ var link = Html.ActionLink("_USER_", "Edit", new { id = "_ID_" }); },在循环中执行了类似于@link.Replace("_ID_", user.UserId.ToString())的操作(您不能使用String.Format,因为Html.ActionLink(){0}转义给%7B0%7D
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16021538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档