뷰가있는 테이블과 뷰를 렌더링합니다. 표의 각 행은 편집 할 수있는 객체입니다. 따라서이 표의 마지막 열에는 여러 개의 '수정'버튼이 있습니다. 이 EDIT 버튼 중 하나를 클릭하면 JavaScript 함수는 현재 행이 나타내는 객체의 ID를 가져와야합니다. 궁극적으로, 나는 "onclick", "onmouseover"속성이 없으며 사용자 정의 속성이없는 깨끗한 HTML로 끝내기를 원합니다. 아래에는 2 가지 예가 있습니다. 좋은 아이디어있어?서버 개체의 매개 변수를 JavaScript로 전달하는 가장 좋은 방법
예 1
View.aspx
<td>
<input type="button" value="EDIT" onclick="JSFunction(<%: ObjectId %>)" />
</td>
스크립트
function JSFunction(id)
{
//some code that does whatever with id
}
예 2
View.aspx
<td>
<input type="button" value="EDIT" customAttribute="<%: ObjectId %>" />
</td>
자바 스크립트
$('input[type=button]').click(function() {
var id = this.attr('customAttribute');
//some code that does whatever with id
});
P.S. 더 나은 질문 제목을 제안 할 수 있다면 함께 공유하십시오 :)
어디에서 customAttribute 데이터를 저장 하시겠습니까?어디 있는지 알게되면 jQuery를 사용하여 액세스하는 방법을 파악할 수 있습니다. 아니면 데이터를 서버 측에 저장하고 AJAX로 가져 오길 원합니 까? – mrtsherman
사용자 지정 특성은 깨끗한 html로 간주 될 수 있습니다. HTML5 사양에도 있습니다. http://dev.w3.org/html5/spec/Overview.html#embedding-custom-non-visible-data-with-the-data-attributes – Vadim
@mrtsherman - 내가 원합니다. 클라이언트에서 HTML 서버 측으로 렌더링되도록하려면 JavaScript가 그 값을 획득 할 수 있습니다. – Dimskiy