【发布时间】:2012-03-26 21:41:13
【问题描述】:
同样的代码在 MVC 2 中运行良好,但在 MVC 3 Razor 中不运行。加载页面后,不会从 Razor 中调用的 HTMLHelper 加载菜单,如下所示。
用于测试的硬编码菜单未在页面上输出。
using System.Collections.Generic;
using System.Web.Mvc;
using System.Web.Mvc.Html;
using myproject.Extensions;
public static class MenuHelper
{
public static string TabbedMenu(this HtmlHelper helper, IEnumerable<MenuTab> tabs)
{
//I have hard coded menu for testing purpose.
return "<div class='menu-image'><img src='/content/Images/common/on-left.gif' alt='' /></div><div class='on'><a class='over' href='/?Length=4'>Home</a></div><div class='menu-image'><img src='/content/Images/common/on-right.gif' alt='' /></div><a href='/Home/About'>About</a><a href='/Home/Contact'>Contact</a>";
}
}
以下是 Razor CSHTML 代码。
@{Html.TabbedMenu
(
new List<MenuTab>
{
MenuTab.Create("Home", "Index", "Home"),
MenuTab.Create("About", "About", "Home"),
MenuTab.Create("Contact", "Contact", "Home")
}
);}
【问题讨论】:
标签: razor