当用户导航到ASP.Net MVC 4中的新页面时删除类

时间:2015-05-26 13:35:02

标签: asp.net-mvc razor

每当用户导航到网站上的新页面(erdie.com)时,我都会尝试从内联SVG徽标中删除动画类。这不是一个大问题,但是当用户点击新页面时,在每个页面加载之前动画发生时,它会占用大量资源。如您所见,徽标位于网站的左上角,徽标代码本身太长而无法在此粘贴,但我会粘贴其打印内容的标题视图。我使用ASP.Net MVC作为Razor语法的后端。

Header.cshtml

<div id="logo-search">
    <div class="container clearfix">
        <div class="logo-container seven columns">
            <a id="logo" href="/">
                @Html.Partial("SVGs/_Logo")
            </a>
        </div>
        ...
    </div><!--/ .container -->
</div><!--/ #logo-search -->

显然,正如您所见,部分正在呈现内联svg徽标。基本上,我想创建一个if / else语句,以便当前URL与首次查看网站时用户导航到的初始URL不匹配时,从内联SVG中删除以下类:erdie-text,{ {1}},industries-text。我怎么能这样做?还值得一提的是,如果在JavaScript中可以实现这一点,我可以从这种方法中做到这一点。

1 个答案:

答案 0 :(得分:0)

您正在向用户请求添加状态。最好的方法是在视图模型中添加标志。

public ActionResult MyAction()
{
    var vm = new MyViewModel();
    vm.IsFirstLoad = false; // This needs to come from a persistent state
    return View(vm);
}

@if (Model.IsFirstLoad)
{
    @Html.Partial("SVGs/_Logo")
}

棘手的部分是弄清楚如何坚​​持国家。