在我的母版页面中,我有一个使用jquery ui手风琴的菜单。
指定哪个项应该处于活动状态的最佳方法是什么?我唯一能想到的是
$(document).ready(function() {
$("#accordion").accordion({
collapsible: true,
autoHeight: false,
active:<%=ViewData["active"] %>
});
})
但是每次在我的整个应用程序中调用View时,似乎有点重复设置ViewData [“active”] ...你觉得怎么样?
答案 0 :(得分:0)
您是否考虑过将手风琴放入PartialView?然后将代码放在PartialView中,远离母版页。
你也可以有一个可以为你设置ViewData的基本控制器,所以它现在就在一个地方。
修改强>
它与任何其他基类相同。您的控制器继承自Controller
,因此您的基类将需要执行相同的操作;
using System.Web.Mvc;
namespace MyAppControllers
{
public class ControllerBase : Controller
{
protected override void Execute(System.Web.Routing.RequestContext requestContext)
{
ViewData["ApplicationName"] = CacheHelper.Get().Name;
base.Execute(requestContext);
}
}
}
现在将控制器类设置为从ControllerBase类继承;
public class HomeController : ControllerBase
我还实现了一个CacheHelper,但你显然可以使用自己的存储当前值的风格。