Pergunta

Eu tenho uma configuração de botão html e funcionando com uma gama conjunto de propriedades necessárias que eu gostaria de converter para um link de texto em vez disso. Além disso, para que eu possa familiarizar-me com o trabalho html ajudantes e intellesense Eu gostaria de ver como encaixar essas propriedades em um ActionLink:

<input type="button" id="RemoveRegistration_Submit<%=row.ID %>" 
value="Remove From Cart" 
onclick="$('#Step2_RemoveRegistrationForm input[name=id]').val('<%=row.ID %>'); $('#Step2_RemoveRegistrationForm').submit();" 
align="right" />

thx

Foi útil?

Solução

Não deve ser tão difícil .... mas eu acho que você quer dizer Html.Link porque ActionLink significa que você precisa para gerar link da tabela de rotas.

<%= Html.Link("Remove from Cart", "#", new {onclick = "#Step2_RemoveRegistrationForm input[name=id]').val('<%=row.ID %>'); $('#Step2_RemoveRegistrationForm').submit();"}) %>
  • param # 1: linkText
  • param # 2: href
  • param # 3: htmlAttributes

    public static string Link (este HtmlHelper HtmlHelper, linkText corda, href String, Object htmlAttributes) {

    TagBuilder tagBuilder = new TagBuilder ( "a") {InnerHtml = linkText; }?

    tagBuilder.MergeAttributes (htmlAttributes);

    tagBuilder.MergeAttributes ( "href", href);

    retorno tagBuilder.ToString (TagRenderMode.Normal);

    }

e não se esqueça de <% @ Import Namespace = "xxxxxx" %> na visão, a fim de usar o método de extensão.

Outras dicas

Os botões não pode agir como links sem javascript.
Em geral - que é uma má prática (motores não pode indexar sua página corretamente etc. pesquisa).

Eu recomendaria que você use tags de âncora e torná-los olhar como um botões.

Mas se você realmente precisa - este artigo fornece uma resposta.

EDIT:

Sorry. Tiro minha resposta pouco rápido demais.

Isto não é exatamente o que você está pedindo (HtmlHelper não está envolvido), mas é assim que eu poderia resolver este problema:

tendo em vista i definiria âncora (âncoras sem hrefs não passar na validação W3):

<a id='removefromcart_<%=row.ID%>' title='Remove from cart' 
   class='remove-link' />

no arquivo javascript externo:

   var onclick = function(event){
        event.preventDefault();
        var link = $(event.targetSource());

        //tag ids should be injected through view asp/cx
        $('#Step2_RemoveRegistrationForm input[name=id]') 
            .val(link.attr('id').split('_')[1])
    };
    $('a[id^=removefromcart]').click(onclick);  

em css:

 a {cursor:pointer;} /*anchors without href by default haven't pointer*/

Eu acredito que seria muito confuso para picar ao redor com javascript em HtmlHelpers.

EDIT2:

text

Anchor é definido dentro de tags. Eu sempre confundem isso. E parece que targetSource () está errado também. Tentar reescrevê-lo:. Event.targetSource () => event.target

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top