ASP.NET MVC ActionLink()。在mvc 2.0中替换()等效

时间:2011-03-15 19:46:38

标签: asp.net-mvc

我一直在使用这个标签ActionLink()。替换为asp.net mvc 1.0:

<li><%= Html.ActionLink("_place_", "Index", "Home").Replace("_place_", "<div id='homeOff'></div>") %></li>

我将项目升级到mvc 2.0,现在这个.replace()不再起作用了。我一直在寻找相同的代码。

2 个答案:

答案 0 :(得分:2)

@adamjford是正确的,它现在返回一个MvcHtmlString而不是一个字符串,这是你的问题。

但我会说你正在尝试做一些HtmlHelpers并不是真正想做的事情。这很酷,因为他们只是作为帮助者而且编写原始html很好并且鼓励这样的情况。

我建议你尝试这样的事情:

<li><a href="<%= Url.Action("Index", "Home") %>"><div id="homeOff"></div></a></li>

答案 1 :(得分:0)

它不再起作用了,因为Html.ActionLink现在返回MvcHtmlString而不是string

一个非常简单的解决方法是在.ToString()之前添加对.Replace()的调用。