2008-09-08 20 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

我想看看的第一件事情是你是否有任何ASP控件(如LinkBut​​ton的,組合框,通常不產生提交但請求回傳)顯示在頁面上。 如果ASP認爲你的某個控件需要它,__doPostback函數將只被放入頁面。

如果您不使用其中的一個,你可以使用:

Page.ClientScript.GetPostBackClientHyperlink(controlName, "") 

的功能添加到您的網頁

+0

的問題的是,在第一時間(不回發),它呈現正確。 ..這是相同的頁面 – juan 2008-09-08 20:49:24

4

好了,下面是我的想法與postbackreference創建的虛擬功能,和它的作品...但它仍然是奇怪的,但因爲它正確地呈現在第一時間

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