我是一名学生,对于ASP.NET MVC来说相当新颖,我来自ASP.NET Web Form。 (习惯了)ASP.NET MVC 5 - 获取当前视图的名称(Razor .cshtml端)
我有一个列表:
<ul class="sidebar bg-grayDark">
<li class="active">
<a href="@Url.Action("Index", "Home")">
<span class="mif-home icon"></span>
<span class="title">Home</span>
</a>
</li>
<li class="bg-hover-black">
<a href="@Url.Action("Index", "Product")">
<span class="mif-shop icon"></span>
<span class="title">Products</span>
<span class="counter">14</span>
</a>
</li>
<li class="bg-hover-black">
<a href="@Url.Action("Index", "Category")">
<span class="mif-flow-cascade icon"></span>
<span class="title">Categories</span>
<span class="counter">9</span>
</a>
</li>
<li class="bg-hover-black">
<a href="@Url.Action("Index", "User")">
<span class="mif-users icon"></span>
<span class="title">Users</span>
<span class="counter">1</span>
</a>
</li>
</ul>
我的目标: 通过其观点被渲染,我要添加“活动”的已被点击。 例如:我点击“类别”,然后Home丢失了他的活动课程,并且类别被添加到他的课程中。 (和“bg-hover-black”)
我以为我可以通过检查实际呈现的视图来做到这一点,但我不知道该怎么做。 (我不知道如何检查呈现实际的观点,但使用剃刀来检查的条件是好的)
我用JavaScript第一次尝试:
$(function() {
$('.sidebar').on('click', 'li', function() {
if (!$(this).hasClass('active')) {
$('.sidebar li').removeClass('active');
$(this).addClass('active');
}
})
})
但它不起作用,因为在页面加载时,该html被重新渲染为主动部分的“活动”。 (如果我删除主页的“活动”,则除点击和页面加载之外,没有任何内容会被激活)。
你有什么解决方法吗?我在网上搜索了很多,但没有找到任何帮助。
对不起,有任何英文错误,我还在学习它:)。
谢谢,
Hellcat8。
该帖子的开头并未显示..这里是: “大家好, 我是一名学生,对ASP.NET MVC [...]颇为新颖” – Hellcat8