Вопрос

У меня есть настроенная и функционирующая html-кнопка с заданным набором требуемых свойств, которые я хотел бы преобразовать в текстовую ссылку.Кроме того, чтобы я мог ознакомиться с рабочими помощниками html и intellesense, я хотел бы посмотреть, как включить эти свойства в 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" />

спасибо

Это было полезно?

Решение

Это не должно быть так сложно .... но я думаю, вы имеете в виду Html.Link, потому что ActionLink означает, что вам нужно сгенерировать ссылку из таблицы маршрутов.

<%= Html.Link("Remove from Cart", "#", new {onclick = "#Step2_RemoveRegistrationForm input[name=id]').val('<%=row.ID %>'); $('#Step2_RemoveRegistrationForm').submit();"}) %>
  • параметр №1:Текст ссылки
  • параметр №2:href
  • параметр №3:Htmlатрибуты

    общедоступная статическая строковая ссылка (это HtmlHelper HtmlHelper, string linkText, string href, object htmlAttributes) {

    TagBuilder TagBuilder = новый TagBuilder("a"){ innerHTML = linkText;}

    TagBuilder.Объединять атрибуты (htmlAttributes);

    TagBuilder.Объединять атрибуты("href", href);

    возвращает TagBuilder.toString(TagRenderMode.Обычный);

    }

и не забудь <%@ Import Namespace="xxxxxx" %> в представлении, чтобы использовать метод расширения.

Другие советы

Кнопки не могут действовать как ссылки без javascript.
В целом - это плохая практика (поисковые системы не могут правильно проиндексировать вашу страницу и т.д.).

Я бы порекомендовал вам использовать теги привязки и сделать их похожими на кнопки.

Но если вам действительно это нужно - это статья дает ответ.

Редактировать:

Извините.Мой ответ прозвучал немного слишком быстро.

Это не совсем то, о чем вы спрашиваете (HtmlHelper не задействован), но именно так я бы решил эту проблему:

с учетом того, что я бы определил якорь (якоря без hrefs проходят проверку W3):

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

во внешнем файле 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);  

в css:

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

Я считаю, что было бы слишком грязно ковыряться с javascript в HtmlHelpers.

РЕДАКТИРОВАТЬ 2:

Текст привязки определяется внутри тегов.Я всегда это путаю.И кажется, что targetSource() это неправильно слишком.Попробуйте переписать его:event.targetSource()=>событие.цель.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top