2008-09-08 7 views
3

이상한 문제가 있습니다.__doPostBack은 포스트 백에서 렌더링하지 않습니다.

GetPostBackEventRefence를 사용하여 포스트 백을 강제 실행해야하지만 첫 번째 포스트 백 이후 처음으로 작동합니다. .NET 함수가 렌더링되지 않습니다 ... 어떤 아이디어입니까?

내가 다시 게시 후 누락 것입니다 :

<script language="javascript" type="text/javascript"> 
<!-- 
function __doPostBack(eventTarget, eventArgument) { 
    var theform; 
    if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) { 
     theform = document.Main; 
    } 
    else { 
     theform = document.forms["Main"]; 
    } 
    theform.__EVENTTARGET.value = eventTarget.split("$").join(":"); 
    theform.__EVENTARGUMENT.value = eventArgument; 
    theform.submit(); 
} 
// --> 
</script> 

답변

3

내가 보는 것이 우선 당신은 일반적으로 발생하지 않습니다하는 LinkButton, 콤보로 (모든 ASP 컨트롤이 있는지 여부 제출하지만 다시 게시해야 함)이 페이지에 표시됩니다. ASP에서 컨트롤 중 하나가 필요하다고 생각하면 __doPostback 함수가 페이지에 삽입됩니다. 당신이 그 중 하나를 사용하지 않는 경우

사용할 수 :

Page.ClientScript.GetPostBackClientHyperlink(controlName, "") 

내가 postbackreference와 더미 기능을 만들어 그 생각에 따라, 페이지

+0

문제점은 처음으로 (포스트 백이 아닌) 올바르게 렌더링된다는 것입니다. .. 같은 페이지입니다 – juan

+0

아마도 포스트 백에서 링크 버튼을 숨길 수 있습니까? –

4

잘 할 수있는 기능을 추가, 그것은 작동하지만 ... 그것은 여전히 ​​이상한데, 왜냐하면 그것은 처음 정확하게 렌더링되기 때문입니다.

this.Page.RegisterClientScriptBlock("DUMMY", "<script language='javascript'>function dummy() { " + this.Page.GetPostBackEventReference(this) + "; } </script>"); 
관련 문제