Um valor Request.Path potencialmente perigoso foi detectado no cliente (&)

Entendo por que isso está acontecendo, mas preciso de uma solução alternativa. Examinei algumas outras perguntas no StackOverflow, mas nenhuma delas foi útil. Não quero desativar a validação de entrada em todo o site, porque isso é definitivamente perigoso. Eu tenho apenas um (pelo menos por enquanto) local em que preciso desativar a validação de entrad

Decorei o método de ação com o atributo [ValidateInput (false)] e estou codificando as seqüências com Html.Encode. Mas ainda assim, recebo o mesmo erro. Aqui está a minha opinião:

<div id="sharwe-categories">
    <ul class="menu menu-vertical menu-accordion">
        @foreach(var topLevel in Model)
        {
            var topLevelName = Html.Encode(topLevel.Name);
             <li class="topLevel">
                <h3>  
                    @Html.ActionLink(topLevel.Name, "Index", "Item", new { category = topLevelName }, new {@class = "main"} )
                    <a href="#" class="drop-down"></a>
                </h3>
                <ul>
                    @foreach (var childCategory in topLevel.Children)
                    {
                        var childcategoryName = Html.Encode(childCategory.Name);
                        <li>@Html.ActionLink(childCategory.Name, "Index", "Item", new RouteValueDictionary { { "category", topLevelName }, { "subcategory", childcategoryName } }, null)</li>
                    }
                </ul>
            </li>
        }

    </ul>

</div>

Como você pode ver, não há entrada do usuário. Mas alguns nomes de categorias têm caracteres "perigosos" ... Alguma solução?

questionAnswers(3)

yourAnswerToTheQuestion