2009-07-07 5 views
0

이유가 없지만 내 .aspx 페이지에 내 사용자 지정 컨트롤을 배치하면 ID가 렌더링됩니다. 그래서 결과적으로 페이지에 자바 스크립트를 작성하고 중간에 자바 스크립트를 망칠 정도로이 컨트롤 이름을 얻습니다.사용자 지정 컨트롤은 이름을 소스로 뱉어 내고 있습니다!

<pm:Car ID="ProductCar" runat="server"/> 

을 그리고 여기에 렌더링 얻을 시작하는 내용은 다음과 같습니다 :

그래서 내에서 .aspx에서 내가 가진

<script type="text/javascript"> 
var ctl00_mainContent_ProductCar 
lastProductID;var ctl00_mainContent_ProductCar 
carSize; 
... 

당신은 ctl00_mainContent_ProductCar은 ID이며이 너무 좋아 VAR 후 렌더링되는 것 볼 수 텍스트가 ctl00_mainContent_ProductCa에 있기 때문에 마지막 자바 스크립트에서 lastProductID 오류를 찾을 수 없습니다. (갱신)

protected override void Render(HtmlTextWriter writer) 
    { 
     writer.Write(BuildCarJavaScript()); 
    } 

단순히 자바 스크립트 페이지로의 무리를 출력한다. 그리고 자바 스크립트에서 아무 것도 보지 않고 클라이언트 ID를 출력하고 있습니다. 예상 정확하게 확실하지

 carJavaScript.Append(@"<script type=""text/javascript"">" + "\r\n"); 
     carJavaScript.AppendFormat("var {0}lastProductID;", this.ClientID + "\r\n"); 
... 
+0

문제의 원인을 파악하는 데 도움이되는 사용자 지정 컨트롤의 렌더링 코드를 제공해야합니다. – CAbbott

+0

아마도 "var .... LastProductID"를 렌더링하는 코드를 게시하면 도움이 될 것입니다. – CAbbott

+0

처음 게시물을 편집했습니다. 지금 거기에 있습니다. – PositiveGuy

답변

0

: 그 코드를 만드는거야 어디 BuildCarJavaScript에서

는 여기에있다. 이 줄 :

carJavaScript.AppendFormat("var {0}lastProductID;", this.ClientID + "\r\n"); 

보고있는 내용을 정확하게 출력하려고합니다. 나는 묻는 것이 더 나을 것이라고 생각한다. 이게 무엇을 생산하기를 원했습니까?

+0

oh sh ** 나는 마침내 그것을 본다. 나는 변수 뒤에 AFTER return을 추가하고 싶었다. 이봐. – PositiveGuy

+0

여기에 우리가 간다 : carJavaScript.AppendFormat ("var {0} lastProductID;", this.ClientID) .Append ("\ r \ n"); 내가 이것을 할 수있는 줄 모르고 있었는지 모르겠다. – PositiveGuy

+0

lol - 우릴 좋아한다. 때로는 잘못된 정보를 다른 사람에게 알리기도합니다. – CAbbott

관련 문제