【发布时间】:2012-07-27 10:29:49
【问题描述】:
有没有一种方法可以让我在 Razor 视图中执行类似的操作:
<h1>Normal razor code</h2>
@Html.Action("NormalRazorCode")
@Eval(" @Html.Action(\"RuntimeEval\") ")
基本上是运行时的 text-to-razor 编译器(例如,它不会像 RazorEngine 那样创建全新的视图)。
【问题讨论】:
-
我可以知道你为什么需要这个吗?
-
首先想到的是在 cms 编辑器中,能够拥有像 @Url.Action("Post", new { id = 5}) 这样的强类型链接,这些链接将自动更新为最新的规范 url版本
-
latest canonical url version是什么? -
例如可以是
showposts/{category}/{post-alias}。虽然postsController/postsAction/5形式的链接可以作为永久链接,但showposts/categoryx/newest-funniest-post更好,并且会使用最新的 mvc 路由自动更新。 -
我愿意,但是在您从数据库下载的字符串中,您不能使用路由。我有 atm 的解决方法是像这样进行后处理:
@Html.RazorParse(text)这是这样的:text.replace( [Url{actionName}]", Url.Action(actionName)
标签: asp.net-mvc razor runtime eval