2013-07-02 3 views

답변

4

나는 절대적으로 당신이 의미 론적으로 올바른 마크 업을하기 위해이 특정 예를 들어 ActionLink를 사용한다 Zabavsky의 코멘트를 지원합니다.

하지만이 질문 이후 :

보기에 자바 스크립트와 면도기 구문을 혼합

그렇게하지 마십시오. 이 마크 업 작업과 겸손을 향상시킬 수있는 곳 (별도의 파일 IN )

<input type="button" value="Resume" id="myButton" data-url="@Url.Action("Test", new { testid = ViewBag.TestID })" /> 

및 자바 스크립트 :의

$(function() { 
    $('#myButton').click(function() { 
     window.location.href = $(this).data('url'); 
    }); 
}); 

를보기에

만 마크 업을해야한다 물론 사용자가 자바 스크립트를 사용하지 않으면 웹 응용 프로그램이 완전히 파열됩니다. 그래서 의미 론적으로 정확한 마크 업을 작성해야합니다. 이 경우 앵커는 HTML 버튼을 사용하여 양식을 제출하는 데 사용되므로 앵커는 다른 특정 위치로 리디렉션하는 데 사용되므로 앵커를 사용하게됩니다 (이 특정 사례에서 달성하려는 것임).

+0

그래, 그걸로가는 올바른 방법 인 것 같아. 그렇지 않으면 자바 스크립트를 지원하지 않는 사용자를 걱정하지 않으므로이 웹 사이트는 많은 단일 페이지, 아약스 기반 앱으로 구성되므로 자바 스크립트는 어디에서나 필수적입니다. – LaserBeak

+1

의미 론적으로 잘못된 마크 업을 사용하는 것은 타당하지 않습니다. –

+0

완벽. 고마워. 그냥 한 가지, 그것은 있어야합니다 : (data-url 내에서 'and not "사용) – rsc

1

Zabavsky 말했듯이 나는,이에 대한 ActionLink를 사용합니다 :

이 같은

뭔가 :

@Html.ActionLink("Resume", "Test", new { testid = ViewBag.TestID }) 

이 actionlink에 대한 꽤 많은 재정이있다, 그래서 당신은을 선택해야합니다 당신의 필요에 맞는 것. testid를 = ViewBag.TestID

+0

사실, 최선의 방법은 링크로 만드는 것입니다. 내 주요 질문은 뷰에서 JS와 면도기 구문을 어떻게 섞어서 사용하고 관례를 위반하거나 해킹을 사용하지 않고도 가능하다면 가능합니다. – LaserBeak

0

의 routevalue을 통과

출력 할 텍스트 '다시 시작'현재 컨트롤러에 대한 조치 '테스트'에가는 A HREF 위의 하나, 당신은 좋아하는 수행 할 수 있습니다

<html><head><script>function newDoc() { window.location.assign("http://www.abc.com") }</script></head><body><input type="button" value="Load new document" onclick="newDoc()"></body></html> 

희망이 있으면 도움이 될 것입니다. 감사.

+0

그래,하지만 면도기 구문을 어떻게이 창에 붙여야합니까? "http://www.abc.com")보기 파서가 내게 오류를 제공하지 않고 잘못된 자바 스크립트 구문을 생성합니다. – LaserBeak

+1

면도기 뷰에서 JavaScript를 사용할 수 있습니다. Razor 구문만을 사용하여 JavaScript를 사용하고 비슷한 것을 찾고 싶지 않은 것 같습니다 ... 맞습니까? @ Html.ActionLink를 사용하는 것이 좋습니다.내가 귀하의 요구 사항을 정확하게 이해하지 못한다면 다른 것을 찾고 있는지 알려주십시오. –

0

글쎄, 당신이 쓴 것은 유효합니다. 당신은 "문자열이 끝나지 않았기 때문에 js 오류가 있다고 생각하기 때문에 당신의 코드에 빨간색 밑줄을 긋게 될 수도 있습니다. 그러나 그것을 실행하면 작동합니다.

빨간색 밑줄을 방지하기 위해, 당신은 할 수 :

@{string js = "window.location = '/Test?testid="+ViewBag.TestID+" '";} 
<input type="button" value="Resume" onclick="@js" /> 
관련 문제