Подтвердить что ты не робот

Можно ли использовать ActionLink, содержащий элемент?

Как говорится в этом вопросе: возможно ли использовать ActionLink, содержащий элемент, а если нет, то какой лучший способ его достичь?

Например, допустим, что у меня есть элемент Span, я хочу, чтобы все это была гиперссылка... Следующие работы:

<a href="/Site/Page/@Model.ID?Type=test">
                <span class="box5">Click anywhere in this box</span> </a>

Представьте, что класс span/css box5 делает этот большой... Первоначально был DIV, но я обнаружил, что не соблюдал стандарты, и это, похоже, соответствует ок.

Это делает и работает отлично, но есть ли в любом случае использовать ActionLink? Я попытался угадать синтаксис, например (копирование из форм):

@using (Html.Actionlink){<span class="box5">Click anywhere in this box</span>}

и многие другие комбинации без везения.

Теперь мой ручной метод HTML работает отлично, и я рад оставить его, но возможно ли использовать MVC ActionLink, и если да, то должен ли я даже беспокоиться/будут ли какие-либо преимущества?

4b9b3361

Ответ 1

Просто используйте @Url.Action вместо:

<a href="@Url.Action("Page","Site", new { id = Model.Id, @Type = "test" })">
 <span class="box5">Click anywhere in this box</span> </a>

Ответ 2

Там вы можете использовать хакеры для ограничения ограничений

@Html.Raw(
     Html
        .ActionLink("-replace-me-", .....)
        .ToString()
        .Replace(
              "-replace-me-", 
              @"<span class=""box5"">Click anywhere in this box</span>"))

он не изящный, но он выполняет работу

Ответ 4

Вы не можете указать html-тег внутри actionlink, но я могу предложить вам два решения: 1 расширьте actionlink своей функцией. Таким образом, вы также можете реализовать actionlink, которые генерируют href с другим тегом htmal внутри (img или span, как в вашем случае)

2, используя url.content в href. Это похоже на ваше фактическое обходное решение, но лучше, потому что вы используете правила, которые вы определили в global.asax, вместо использования "волшебной строки"

Ответ 5

Просто напишите <span> </span> и между ними используется метод @html > ActionLink. Он будет работать