2008-09-08 6 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などのコントロール(、コンボボックスを持っているかどうかであります送信していますが、ポストバックが必要です)が表示されます。 __doPostback関数は、ASPがコントロールの1つが必要と思っている場合にのみページに挿入されます。あなたがそれらのいずれかを使用していない場合

あなたが使用することができます。

Page.ClientScript.GetPostBackClientHyperlink(controlName, "") 

は私がpostbackreferenceとダミー関数を作成したアイデアを、次の、あなたのページ

+0

問題は、最初の(ポストバックではなく)正しくレンダリングすることです。 ..それは同じページです – juan

+0

多分、あなたはポストバックにlinkbuttonを隠していますか? –

4

まあに機能を追加するために、それは動作します...それはまだそれが最初に正しくレンダリングされているので変ですが、

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