ajax刷新页面,页面中正在播放的视频怎样让他不刷新
按现在这种情况,这个页面是标准的aspx postback机制页面,最小的改动看来只能选择记住菜单状态,页面重新刷新后,在js里面把菜单还原出来。 1,导航区域通过母版页或者用户控件代理。 ? 这部分通过读取后台提供的目录信息,动态生成链接, ? 目录信息包括controller,action,className以及其他属性。 ? 大致的一个类为: ? ?public class NavigationEntity ? ?{ ? ? ? ?public string ControllerName { get; set; } ? ? ? ?public string Acti...全部
按现在这种情况,这个页面是标准的aspx postback机制页面,最小的改动看来只能选择记住菜单状态,页面重新刷新后,在js里面把菜单还原出来。 1,导航区域通过母版页或者用户控件代理。 ? 这部分通过读取后台提供的目录信息,动态生成链接, ? 目录信息包括controller,action,className以及其他属性。
? 大致的一个类为: ? ?public class NavigationEntity ? ?{ ? ? ? ?public string ControllerName { get; set; } ? ? ? ?public string ActionName { get; set; } ? ? ? ?public string Name { get; set; } ? ? ? ?public string ClassName { get; set; } ? ?} ? ?view的代码为: ? ? ? ? ? )) ? ? ? ? ?{ %> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2,使用自定义ActionFilterAttribute提供导航信息。
? ?优点在于: ? ?1,每个链接对应一个action,这里可以访问实际的controller,action名称。 ? ?可以往ViewData扔数据。 ? ?2,每个自定义ActionFilterAttribute可以有自己的导航信息集, ? ?即是可以决定包含那些可用controller,action。
从模块或者功能块自管理自己的 ? ?导航菜单来说,方便控制。 ? ?3,利用了FilterAttribute的方便性。 ? ?ActionFilterAttribute的四个切入时机,随便选除了OnResultExecuted的其他三个中某一个。
publicclass NavigationAttibute : ActionFilterAttribute ? ?{ private IList _navigationColletion; privateconststring _selectedClassName ="higthLight"; privateconststring _unSelectedClassName ="unLight"; public NavigationAttibute() ? ? ? ?{ ? ? ? ? ? ?_navigationColletion =new List(); ? ? ? ? ? ?_navigationColletion。
Add(new NavigationEntity() ? ? ? ? ? ?{ ? ? ? ? ? ? ? ?ControllerName ="Home", ? ? ? ? ? ? ? ?ActionName ="Index", ? ? ? ? ? ? ? ?ClassName = _unSelectedClassName, ? ? ? ? ? ? ? ?Name ="主页" ? ? ? ? ? ?}); ? ? ? ? ? ?_navigationColletion。
Add(new NavigationEntity() ? ? ? ? ? ?{ ? ? ? ? ? ? ? ?ControllerName ="Home", ? ? ? ? ? ? ? ?ActionName ="About", ? ? ? ? ? ? ? ?ClassName = _unSelectedClassName, ? ? ? ? ? ? ? ?Name ="关于" ? ? ? ? ? ?}); ? ? ? ?} publicoverridevoid OnResultExecuting(ResultExecutingContext filterContext) ? ? ? ?{ base。
OnResultExecuting(filterContext); string controller = filterContext。RouteData。Values["controller"] asstring; string action = filterContext。
RouteData。Values["action"] asstring; foreach (NavigationEntity entity in _navigationColletion) ? ? ? ? ? ?{ if (entity。
ControllerName == controller && entity。ActionName == action) ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ?entity。
ClassName = _selectedClassName; ? ? ? ? ? ? ? ?} else ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ?entity。
ClassName = _unSelectedClassName; ? ? ? ? ? ? ? ?} ? ? ? ? ? ?} ? ? ? ? ? ?filterContext。Controller。
ViewData["navigation"] = _navigationColletion; ? ? ? ?} ? ?} 3,在action中用起来 publicclass HomeController : Controller ? ?{ ? ? ? ?[NavigationAttibute] public ActionResult Index() ? ? ? ?{ ? ? ? ? ? ?ViewData["Message"] ="欢迎使用 ASP。
NET MVC!"; ? ? ? ? ? ?ViewData["Position"] = RouteData。Values["controller"] "_" RouteData。Values["action"]; //是否能取到,取决于 NavigationAttibute ? ? ? ? ? ?IList list = ViewData["navigation"] as IList; return View(); ? ? ? ?} ? ? ? ?[NavigationAttibute] public ActionResult About() ? ? ? ?{ ? ? ? ? ? ?ViewData["Position"] = RouteData。
Values["controller"] "_" RouteData。
Values["action"]; //是否能取到,取决于 NavigationAttibute ? ? ? ? ? ?IList list = ViewData["navigation"] as IList; return View(); ? ? ? ?} ? ?}。收起