서버에서 JavaScript를 생성해야합니다. JavaScript를 사용하여 ASPX 페이지를 사용하여이 작업을 수행 할 수 있지만 경고가 표시되며 원하는 구문 하이라이팅이 도움이되지 않습니다. .NET 환경/Visual Studio에 특정 ASPX 페이지가 비 HTML 텍스트를 출력한다고 가정하는 방법이 있습니까?ASP.Net에서 템플릿을 사용하여 JavaScript 생성
이유는 현지화 때문입니다. 내 현지화 된 문자열은 서버에서 왔고 페이지의 JavaScript 구문에서이를 필요로합니다. 가장 쉬운 방법은 JSON 객체에서 지역화 된 문자열을 정의하는 하나의 JS 파일 (지금은 l18n.js라고 부름)을 만드는 것입니다.
l18n = {
OK: <%= GetString("OK") %>,
Cancel: <%= GetString("Cancel") %>,
ConfirmDialog: {
Title: <%= GetString("ConfirmTitle") %>,
Message: <%= GetString("ConfirmMessage") %>
}
// .. etc.
}
이 나를 UI
var okButton = $('<button>' + l18n.OK + '</button>')
의 다른 부분에서 지역화 된 문자열을 사용하지만 말했듯이, 그냥 ASPX 페이지 내에서 자바 스크립트를 던지고 있습니다, l18n.js.aspx, 경고의 결과와 구문 hilighting을 제공하지 않습니다. 최소한 경고를 없애는 더 좋은 방법이 있습니까? 예외 HRESULT에서 : 현재 한 디자이너 파일의
세대가 실패 0x80042929
그리고 경우에 프로젝트가
대한 설명
닷넷 2.0 위에 구축 문제언어는 사용자가 선택하지 않아야하므로 항상 변경해서는 안되며 언어 값을 ETag로 사용할 수 있어야 캐싱이 크게 커질 수 없습니다 ue. 브라우저 관점에서 필자는 templated JS를 나머지 파일과 마찬가지로 정적 인 파일이라고 생각한다. 나는 그것을 자동화 할 수 있다면 ~ 10 정적 JS 파일을 개별적으로 선언하고 싶지 않습니다.
Oi! 나는 JSON 직렬화를 전혀 생각하지 않았다! .Net 2.0에서 지금 할 수있는 편리한 라이브러리를 찾아서 어떻게 작동하는지 알아야합니다. 그리고 ASPX가 Forms를 나타 내기로되어 있다는 것을 알고 있습니다. 이것이 ASP.Net을 개인적으로 싫어하는 이유입니다. : | 너무 나쁘다. COM 상호 운용성 등의 다른 많은 옵션이 없다. 직렬화가 어떻게 작동하는지 알려 드리겠습니다. –
ASPX가 특별한 의미를 지녔기 때문에 ASP.NET을 왜 싫어하는지 확신 할 수 없습니다. 이것은 아마도 ASPX 파일이 ASP에서 ASP 파일과 동일한 것으로 간주된다는 점에서 오해입니다. ASP.NET에는 이러한 동등성이 없습니다. 비 HTML 원시 출력을 생성하기 위해 .ashx가 올바른 도구입니다. 정적 콘텐츠를 지원하지 않으므로 <% %> 마크 업을 지원합니다. IMO이게 좋은거야. – AnthonyWJones
나는 모든 페이지가 '폼'으로 간주되어야한다고 생각하지 않으며 추상화 ASP.Net은 매우 새기있다. 나는 ASP.Net이 그것이 의미하는 바에 대한 나쁜 것이라는 말은하지 않고 있지만, 일반적인 웹 개발에서 "모든 것이 하나의 양식"이라는 태도가 잘못되었다고 생각합니다. ASPX에 특정 의미가 있다는 것을 싫어하지는 않습니다. 비 형식 HTML 페이지를 디자인 할 때 사람들이 "form"구조를 사용하도록하는 ASP.Net에는 다른 템플릿 가능한 구문이 없다는 것이 싫습니다. –