1
 <div data-role="navbar">
        <ul>
            <li><a id="navBtnThirty" href="@Url.Action("View", "VesselLogs", new { id = @ViewContext.ViewData["VesselGID"], ShowDays = 30})" class="navbarbtn ui-btn-active ui-state-persist">30 Days</a></li>
            <li><a id="navBtnSixty"  href="@Url.Action("View", "VesselLogs", new { id = @ViewContext.ViewData["VesselGID"], ShowDays = 60 })" class="navbarbtn" >60 Days</a></li>
            <li><a id="navBtnNinty" href="@Url.Action("View", "VesselLogs", new { id = @ViewContext.ViewData["VesselGID"], ShowDays = 90 })" class="navbarbtn" >90 Days</a></li>
            <li><a id="navBtnAll" href="@Url.Action("View", "VesselLogs", new { id = @ViewContext.ViewData["VesselGID"], ShowDays = -1 })" class="navbarbtn"  >All Days</a></li>
        </ul>
    </div>

首次加载页面时,活动按钮正确显示。单击其中一个链接后,在操作完成之前不会设置活动按钮,然后我再次单击该按钮。

4

2 回答 2

0

字符串语法在我看来是错误的。我敢打赌有一些编译错误。在您的 href 属性标记中,删除内部的双引号并替换为单引号。

<div data-role="navbar">
    <ul>
        <li><a id="navBtnThirty" href="@Url.Action('View', 'VesselLogs', new { id = @ViewContext.ViewData['VesselGID'], ShowDays = 30})" class="navbarbtn ui-btn-active ui-state-persist">30 Days</a></li>
        <li><a id="navBtnSixty"  href="@Url.Action('View', 'VesselLogs', new { id = @ViewContext.ViewData['VesselGID'], ShowDays = 60 })" class="navbarbtn" >60 Days</a></li>
        <li><a id="navBtnNinty" href="@Url.Action('View', 'VesselLogs', new { id = @ViewContext.ViewData['VesselGID'], ShowDays = 90 })" class="navbarbtn" >90 Days</a></li>
        <li><a id="navBtnAll" href="@Url.Action('View', 'VesselLogs', new { id = @ViewContext.ViewData['VesselGID'], ShowDays = -1 })" class="navbarbtn"  >All Days</a></li>
    </ul>
</div>

编辑:

完全是我的错。我没有想到你的href中有剃刀语法。现在才注意到'@'符号。

于 2012-10-16T19:45:25.540 回答
0

下面的代码解决了这个问题,请务必更改 jquery 移动事件以将其绑定到您的特定设置。

    $(document).bind('pageshow', 
    function () {
        var days = @ViewContext.ViewData["ShowLogs"];
        $('.navbarbtn').removeClass("ui-btn-active");
        if (days == 30) {
            $('#navBtnThirty').addClass("ui-btn-active");
        } else if (days == 60) {
            $('#navBtnSixty').addClass("ui-btn-active");
        } else if (days == 90) {
            $('#navBtnNinty').addClass("ui-btn-active");
        } else if (days == -1) {
            $('#navBtnAll').addClass("ui-btn-active");
        }
    });
</script>
于 2012-10-17T13:48:43.353 回答