2011-04-25 6 views
1

저는 ASP.NET에 익숙하지 않아서 저의 말을 용서해줍니다. 우리는 브라우저에서 볼 때 일반 텍스트로 렌더링되는 동적 "레이블"을 포함하는 .aspx 페이지를 많이 만듭니다. 읽 브라우저에서 볼JavaScript로 렌더링 된 ASP.NET 컨트롤을 삽입 할 수 있습니까?

<p>Thanks for trying <em>{ProductName}</em>!</p>

페이지 : 내 회사의 제품 시도에 대한

감사 예를 들어, 내에서 .aspx의 소스 코드가 포함되어있는 경우!

이제 JavaScript를 통해 동적으로 페이지에 텍스트를 삽입하고 싶습니다. {제품 이름}을 시도하기위한

감사합니다 : 문제는 내가 스크립트가 페이지에 코드의 같은 비트를 쓸 경우, 나는이를 얻을 수 있다는 것입니다!

스크립트가 실행되기 전에 이미 페이지 렌더링이 끝났기 때문에 동적 레이블은 서버 쪽에서 먼저 렌더링하는 대신 일반 텍스트로 처리됩니다.

내가 할 수있는 방법이 있습니까?

+0

아약스는 옵션 일 수 있습니까? –

+0

실제 제품 이름은 어디에서 가져 왔습니까? 왜 페이지를 렌더링 할 때 사용할 수 없습니까? – musaul

답변

0

.aspx 스크립트는 서버 쪽에서 렌더링되므로 웹 서버에서 렌더링 된 다음 사용자가 다운로드하므로 사용자는 이미 해당 값이있는 페이지를 가져옵니다. 다른면에서 자바 스크립트는 클라이언트 컴퓨터에서 렌더링되므로 스크립트를 다운로드하면 브라우저에서 페이지를 렌더링합니다. 왜 그 값을 표시하지 않는지.

일부 해결 방법이 있습니다.

첫째, 더 좋은 방법은 아약스를 시도하는 것입니다. 즉 자바 스크립트가 다른 서버 요청을 통해 해당 값을 가져 와서 사용자에게 보여줄 것이며 그 값은 서버에서 가져옵니다.

둘째, 이러한 서버 변수를 스크립트 변수 또는 숨겨진 html 요소에 넣으려고 할 수 있습니다. 그렇게하면 값을 사용하고 싶을 때 로컬 스크립트 (자바 스크립트)에서 가져올 수 있습니다. 그것은 숨겨진 또는 숨겨진 입력에 값을을 writting 같은 뭔가 ">, 그리고 document.getElementById("value_id").innerHTML 또는

var에 발 같은 일을하고, 페이지에 자바 스크립트 변수를 설정처럼 회복 ="것 <% = 제품 이름 %> ";

0

그 구문에 익숙하지 해요 내가 대신 <%= ProductName %> 같은 것을 기대 사용하는 ASP.Net 어떤 맛 웹폼을 MVC는 스파크

중괄호가에 필수이기 때문에..???? 자바 스크립트 언어는 자바 스크립트 태그가 문자열 교체를 위해 파싱되지 않을 가능성이 높습니다. 중괄호가 문자열 대체를 나타내는시기와 JavaScript 코드의 일부인 경우를 알 수 있습니다. 자바 스크립트에 대해 <%= ProductName %> 구문으로 전환 할 수 있다면 가장 쉬운 방법 일 수 있습니다. 그것이 옵션이 아니거나 상황에 따라 다르다면, html에 문자열을 넣고 JavaScript에서 추출해보십시오. 숨겨진 입력이 이상적으로 보입니다.

<input type="hidden" id="ProductName" value="{ProductName}" /> 

속성에서 작동하지 않는 것을 발견 할 수 있습니다.좋아, 단지 숨겨진 범위를 사용

<span class="hidden" id="ProductName">{ProductName}</span> 

(실제 숨어 할 수있는 "숨겨진"CSS 클래스를 정의하는 것을 잊지 마세요 : .hidden { display: none; })

자바 스크립트를 사용하여 문자열에서 가져 오기 :

var productName = document.getElementById("ProductName").value;  // hidden input 
var productName = document.getElementById("ProductName").innerHTML; // hidden span 
+0

둘 다 좋은 제안이지만, 불행히도 어느 쪽이든 내 특별한 경우에는 작동하지 않을 것이라고 생각합니다. Google은 수많은 톤수의 사이트에서 이러한 상표를 사용하고 있습니다. 문법을 갑자기 바꿀 수는 없으며 페이지에 숨겨진 요소를 삽입하는 것도 비현실적입니다. 고마워, 그래도 - 좀 더 생각해 볼게. – daGUY

관련 문제