올바른 방법은 무엇입니까? 아래 예와 같이 작동해야합니다.뷰에서 Javascript와 면도기 구문을 혼합하십시오.
<input type="button" value="Resume" onclick="window.location = '/[email protected](ViewBag.TestID)'" />
올바른 방법은 무엇입니까? 아래 예와 같이 작동해야합니다.뷰에서 Javascript와 면도기 구문을 혼합하십시오.
<input type="button" value="Resume" onclick="window.location = '/[email protected](ViewBag.TestID)'" />
나는 절대적으로 당신이 의미 론적으로 올바른 마크 업을하기 위해이 특정 예를 들어 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 버튼을 사용하여 양식을 제출하는 데 사용되므로 앵커는 다른 특정 위치로 리디렉션하는 데 사용되므로 앵커를 사용하게됩니다 (이 특정 사례에서 달성하려는 것임).
Zabavsky 말했듯이 나는,이에 대한 ActionLink를 사용합니다 :
이 같은뭔가 :
@Html.ActionLink("Resume", "Test", new { testid = ViewBag.TestID })
이 actionlink에 대한 꽤 많은 재정이있다, 그래서 당신은을 선택해야합니다 당신의 필요에 맞는 것. testid를 = ViewBag.TestID
사실, 최선의 방법은 링크로 만드는 것입니다. 내 주요 질문은 뷰에서 JS와 면도기 구문을 어떻게 섞어서 사용하고 관례를 위반하거나 해킹을 사용하지 않고도 가능하다면 가능합니다. – LaserBeak
의 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>
희망이 있으면 도움이 될 것입니다. 감사.
그래,하지만 면도기 구문을 어떻게이 창에 붙여야합니까? "http://www.abc.com")보기 파서가 내게 오류를 제공하지 않고 잘못된 자바 스크립트 구문을 생성합니다. – LaserBeak
면도기 뷰에서 JavaScript를 사용할 수 있습니다. Razor 구문만을 사용하여 JavaScript를 사용하고 비슷한 것을 찾고 싶지 않은 것 같습니다 ... 맞습니까? @ Html.ActionLink를 사용하는 것이 좋습니다.내가 귀하의 요구 사항을 정확하게 이해하지 못한다면 다른 것을 찾고 있는지 알려주십시오. –
글쎄, 당신이 쓴 것은 유효합니다. 당신은 "문자열이 끝나지 않았기 때문에 js 오류가 있다고 생각하기 때문에 당신의 코드에 빨간색 밑줄을 긋게 될 수도 있습니다. 그러나 그것을 실행하면 작동합니다.
빨간색 밑줄을 방지하기 위해, 당신은 할 수 :@{string js = "window.location = '/Test?testid="+ViewBag.TestID+" '";}
<input type="button" value="Resume" onclick="@js" />
이 경우 가장 좋은 방법은 링크가 아닌 버튼으로 만드는 것입니다. – Zabavsky