2011-01-13 2 views
0

나는 다음과 같은 코드가 있습니다이 URL 문자를 탈출하는 방법

<%# "~/pages/AttchmentViewer.aspx?ID=" + Eval("ID").ToString() %> 

하지만 따옴표 결과에 문제가있을 :

onclick='window.open(" *** ","List","scrollbars=no,resizable=no,width=400,height=280");' 

내가이 함께 ***을 대체 할을 :

<a runat="server" id="DocTitleLabel" 

onclick='window.open(\"<%# "~/pages/AttchmentViewer.aspx?ID=" + 
Eval("ID").ToString() %>" \", "List", "scrollbars=no,resizable=no,width=400,height=280");'> 

     <%# Eval("DocTitle") %> 
</a> 

도움이 필요하십니까?

미리 감사드립니다.

답변

1

이 작동합니다있어 (테스트를 거쳤습니다.) 그러나 ~을 생략해야한다고 말한대로 상대 경로를 지정하면됩니다.

onclick = '< % # "window.open (\"~/pages/AttchmentViewer.aspx? ID = " ToString() + "\", \ "목록 \", \ "스크롤바 = 아니요, 크기 조정 가능 = 아니요, 너비 = 400, 높이 = 280 \") %> '

+0

예, 감사했습니다. – Homam

1

잘못된 따옴표를 이스케이프 처리하면 URL 내부의 이스케이프 처리가 필요하지 않습니다. 쿼리 문자열 인코딩 또한 좋은 생각입니다.

onclick='window.open(\"<%# "~/pages/AttchmentViewer... 대신 onclick='window.open("<%# \"~/pages/AttchmentViewer...을 시도하십시오. 내가 서버 태그 (<%의 %는>) 무엇을 할 것인지 궁금하지만

(같은 닫는 마크 적용)

+0

답을 주셔서 감사합니다. 서버 태그의 경우, Eval ("ID")를 가져 와서 대상 페이지의 URL과 연결하십시오. – Homam

+0

그런 다음 바로 앞에 시작 태그를 쓸 수 있습니다 전체 URL을 감싸는 대신 평가 ("ID") 할 수 있습니까? 그런 식으로 서버 태그 내부의 코드가 ID를 대체하기 때문에 아무 것도 연결할 필요가 없습니다. – Select0r

관련 문제