如果您只是加载部分内容,为什么需要控制器参数?控制器方法中是否构建了逻辑?
试试:
@{ Html.RenderAction("GlobalNavigation"); }
否则,我建议在您的项目中使用 HTML 助手来构建我们的主导航。
例如。
帮手PROJECT.Web.ExtensionMethods.HtmlExtensions
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Html;
namespace OHTP.Web.ExtensionMethods
{
public static class HtmlExtensions
{
public static MvcHtmlString NavMenuLink(this HtmlHelper helper, string linkText, string actionName, string controlName, string activeClassName)
{
if (helper.ViewContext.RouteData.Values["action"].ToString() == actionName &&
helper.ViewContext.RouteData.Values["controller"].ToString() == controlName)
{
var menuLink = helper.ActionLink(linkText, actionName, new { Controller = controlName }, new {Class = activeClassName});
return menuLink;
}
return helper.ActionLink(linkText, actionName, controlName);
}
}
}
然后在部分调用它
<%= Html.NavMenuLink("Copy to display", "ControllerName", "Link", "class") %>