Pregunta

Tengo una configuración de botón HTML y funciona con un rango fijo de propiedades requeridas que me gustaría convertir a un enlace basado en texto en su lugar. Además, por lo que puedo familiarizarme con ayudantes que trabajan en HTML y en intellesense Me gustaría ver cómo estas propiedades calzador en un 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

¿Fue útil?

Solución

No debería ser tan difícil .... pero creo que quiere decir Html.Link porque ActionLink significa que necesita para generar enlace desde la tabla de rutas.

<%= 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

    pública cadena estática Enlace (esto HtmlHelper HtmlHelper, cadena linkText, cadena href, htmlAttributes objeto) {

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

    tagBuilder.MergeAttributes (htmlAttributes);

    tagBuilder.MergeAttributes ( "href", href);

    retorno tagBuilder.ToString (TagRenderMode.Normal);

    }

y no se olvide de <% @ Import Namespace = "xxxxxx" %> en la vista con el fin de utilizar el método de extensión.

Otros consejos

Los botones no pueden actuar como enlaces sin javascript.
En general - que es una mala práctica (los motores de búsqueda no pueden indexar su página correctamente, etc.).

Yo le recomendaría utilizar etiquetas de anclaje y que se vean como unos botones.

Pero si realmente lo necesita - esta artículo proporciona una respuesta.

EDIT:

Lo sentimos. Disparo mi respuesta poco demasiado rápido.

Esto no es exactamente lo que están pidiendo (HtmlHelper no está involucrado), pero así es como me gustaría resolver este problema:

en vista Yo definiría el ancla (anclas sin hrefs no pasan la validación W3):

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

en el archivo externo javascript:

   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);  

en CSS:

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

Creo que sería demasiado complicado para hurgar con javascript en HtmlHelper.

Edit2:

El texto ancla se define dentro de las etiquetas. Siempre confundo eso. Y parece que targetSource () está mal también. Tratar de volver a escribir:. Event.targetSource () => event.target

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top