Eu tenho duas perguntas:
- Eu estou querendo saber como eu não posso exibir nenhum texto de link ao usar
Html.ActionLink()
em uma exibição MVC (na verdade, isso éSite.Master
).
Não há uma versão sobrecarregada que não permita o texto do link e, quando tento passar apenas um espaço em branco string
, o compilador diz que precisa de uma string não vazia.
Como posso consertar isso?
Preciso colocar
<span>
tags dentro da tag anchor, mas não está funcionandoHtml.ActionLink();
. Eu gostaria de ver a seguinte saída:Texto de extensão
Como posso colocar marcas dentro da marca âncora no ASP.NET MVC?
c#
.net
asp.net-mvc
actionlink
MegaMatt
fonte
fonte
<li>
você vê é um botão de navegação específico (com tamanho, posição do plano de fundo, etc. especificados na folha de estilo css). Mas ele deve estar vinculado a algo, então não quero exibir o texto. Eu quero que o sprite faça isso por mim.Respostas:
Em vez de usar Html.ActionLink, você pode renderizar um URL via Url.Action
E para criar um URL em branco, você poderia ter
fonte
<a [email protected]("Create", "Product")><span>Create</span></a>
também funciona. As cotações não são necessárias.Uma extensão HtmlHelper personalizada é outra opção. Nota : ParameterDictionary é meu próprio tipo. Você pode substituir um RouteValueDictionary, mas precisará construí-lo de maneira diferente.
fonte
Aqui está uma solução alternativa (baixa e suja), caso você precise usar ajax ou algum recurso que não possa ser usado ao criar um link manualmente (usando a tag):
Você pode usar qualquer texto em vez de 'LinkTextToken', ele existe apenas para ser substituído, é importante que não ocorra em nenhum outro lugar do actionlink.
fonte
Html.Raw()
date-
atributos, esta é a melhor solução para mim. 1Basta usar em
Url.Action
vez deHtml.ActionLink
:fonte
Isso sempre funcionou bem para mim. Não é bagunçado e muito limpo.
<a href="@Url.Action("Index", "Home")"><span>Text</span></a>
fonte
Acabei com um método de extensão personalizado. É importante notar que, ao tentar colocar o HTML dentro de um objeto Anchor, o texto do link pode estar à esquerda ou à direita do HTML interno. Por esse motivo, optei por fornecer parâmetros para o HTML interno esquerdo e direito - o texto do link está no meio. O HTML interno esquerdo e direito são opcionais.
Método de extensão ActionLinkInnerHtml:
Exemplo de uso:
Aqui está um exemplo de uso. Para este exemplo, eu queria apenas o html interno no lado direito do texto do link ...
Resultados:
isso resulta no seguinte HTML ...
fonte
Eu pensei que isso poderia ser útil ao usar o bootstrap e alguns glypicons:
Isso mostrará uma tag A, com um link para um controlador, com um belo ícone de clipe de papel para representar um link de download, e a saída html será mantida limpa
fonte
Aqui está uma super expansão da resposta de @ tvanfosson. Fui inspirado por ele e decidi torná-lo mais genérico.
fonte
É muito simples.
Se você deseja ter algo como um ícone de glifo e, em seguida, "Lista de desejos",
fonte
Minha solução usando componentes de autoinicialização:
fonte
Tente abaixo o código que pode ajudá-lo.
fonte