문제

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" />

고마워

도움이 되었습니까?

해결책

그다지 어렵지는 않습니다. 하지만 ActionLink는 경로 테이블에서 링크를 생성해야 한다는 뜻이므로 Html.Link를 의미한다고 생각합니다.

<%= 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, 객체 htmlattributes) {

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

    tagBuilder.MergeAttributes(htmlAttributes);

    tagBuilder.MergeAttributes("href", href);

    return tagBuilder.ToString(TagRenderMode.Normal);

    }

확장 방법을 사용하려면 뷰에서 <%@ 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*/

나는 htmlhelpers의 JavaScript를 찌르는 것이 너무 지저분하다고 생각합니다.

edit2 :

앵커 텍스트는 태그 내부에 정의됩니다. 나는 항상 그것을 혼동합니다. 그리고 대상 소스 () 잘못되었습니다 도. event.targetSource () => event.target을 다시 작성하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top