@helper中的Url.Action不会引发事件

时间:2015-09-20 12:20:05

标签: asp.net-mvc razor

我遇到@helper中的Action链接问题。 见下面这一行

<a href="@Url.Action("Index","Category", new { id = item.Id })">

它根本不会引发事件。我在这做错了什么?

@helper ShowTree(IEnumerable<FrontEnd.Controllers.SharedController.Category> categories)
            { 
                    <ul id="@(Added == false ? "categories" : "")" class="parent-1">
                        @foreach (FrontEnd.Controllers.SharedController.Category item in categories)
                        {
                            Added = true;
                            <li class="child-1 has-sublist">
                                <a href="@Url.Action("Index","Category", new { id = item.Id })">
                                    @item.CategoryName

                                    @if (item.Children.Count > 0)
                                    {  <span>
                                        [@item.Children.Count]
                                    </span>
                                    }

                                </a>

                            @if (item.Children.Any())
                            {
                                    @ShowTree(item.Children)
                            }
                            </li>
                        }
                    </ul>
            }

2 个答案:

答案 0 :(得分:0)

您是否尝试过以下内容?

@Html.ActionLink(item.CategoryName, "Index", "Listing", new { id = item.Id }, null, null)

https://msdn.microsoft.com/en-us/library/dd460522(v=vs.118).aspx

答案 1 :(得分:0)

确定。刚刚找到了治疗方法。

Javascript阻止了对控制器的请求..

$('#categories > li a').click(function(e){
            if($(this).parent().hasClass('has-sublist')) {
                e.preventDefault();
            }....
.................