2011-02-15 6 views
1

<body> 태그가 masterpage에 있기 때문에 액세스 할 수 없습니다. 나는 자동 포스트 백을 트리거 할 때와 페이지로드 :이 코드를 삽입해야자바 스크립트에서 자동 다시 게시

<script type="text/javascript"> 
     window.onscroll= __doPostBack("<%= button.ClientID %>", ""); 
</script> 

? </asp:Content> 태그 바로 앞에 배치하면 구현되지 않은 JS 오류가 발생합니다.

어떻게해야합니까?

<% if (!Page.IsPostBack) { %> 
<script type="text/javascript"> 
window.onload = function() { 
    __doPostBack("<%= button.ClientID %>", ""); 
} 
</script> 
<% } %> 

당신이 C#을 사용하고 가정 :

PS : 나는이 페이지가로드

답변

4

당신은 코드를 어디서나 배치 할 수 있습니다 때 updatepanel을 채우려하기 때문에 나는 다시 게시를 트리거 할 필요가 VB.NET을 사용하면 구문이 약간 달라집니다.

편집 :

if (!Page.IsPostBack) { 
    this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "auto_postback", "window.onload = function() { __doPostBack(\"" + button.ClientID + "\", \"\"); }; ", true); 
} 

편집 II : 당신은 당신의 페이지를 Page_Load이있을 수 있습니다 %><%을 사용하지 않도록하고 작업의 더 나은 기회와 다른 방법 대신 같은 JS 코드를 가지고있다 :

"window.onload = function() { var buttonID = '" + button.ClientID + "'; alert('ID: ' + buttonID + ', clicking...'); document.getElementById(buttonID).click(); }; " 

버튼의 클라이언트 ID가 표시되면 자동으로 클릭됩니다. 운이 없다면 ID가 정확하고 문서에 실제로 존재하는지 확인하고 문제가 무엇인지 찾으려고 노력할 것입니다.

+0

감사합니다.하지만 MVC를 사용하지 않습니다. 컴파일러는 <%를 (를) 이해하지 못합니다. 이 문제를 해결할 수 있습니까? 다시 한 번 감사합니다 – Ryan

+2

@ Ryan 그것은 MVC가 아니며 ASP.NET ASP 코드 페이지에서 작동해야하는 표준 ASP 서버 측 코드 표기법입니다. 정확히 어떤 오류가 발생 했습니까? –

+0

@ Ryan 내 대안을 볼 수 있습니다 .. –

관련 문제