我从MVC 1到MVC 2 converted my project,Visual Studio 2008给我以下错误:
Error 1 'System.Web.Mvc.MvcHtmlString' does not contain a definition for 'Substring' and no extension method 'Substring' accepting a first argument of type 'System.Web.Mvc.MvcHtmlString' could be found (are you missing a using directive or an assembly reference?) C:\Dev\SapientFansite\SapientFansiteApplication\SapientFansiteWeb\Code\ExtensionMethods\Html.cs 68 75 SapientDevelopment.SapientFansite.Web
这是错误所指向的代码。 “linkHtml.Substring(0,2)”特别有麻烦。
var linkHtml = htmlHelper.ActionLink(linkText, actionName, controllerName);
if (isActiveMenuItem) {
linkHtml = string.Format("{0} class=\"active\" {1}", linkHtml.Substring(0, 2), linkHtml.Substring(3));
}
return linkHtml;
}
我怀疑这与缺少引用文献有关,但我很茫然。
最佳答案
Html.ActionLink()
不再返回字符串。现在,它返回一个MvcHtmlString。 MvcHtmlString没有名为.Substring()
的方法(仅字符串)。如果您调用.ToString()
或.ToHtmlString()
(将对值进行编码),则可以调用.Substring()
。参见this link。
关于model-view-controller - MvcHtmlString MVC 2转换错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2382942/