3

私は奇妙な問題を抱えています。

ポストバックを強制するために使用する必要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>
4

2 に答える 2

4

さて、その考えに従って、ポストバックリファレンスを使用してダミー関数を作成しましたが、機能します...それでも奇妙ですが、最初は正しくレンダリングされるためです

this.Page.RegisterClientScriptBlock("DUMMY", "<script language='javascript'>function dummy() { " + this.Page.GetPostBackEventReference(this) + "; } </script>");
于 2008-09-08T20:57:21.267 に答える
3

最初に確認することは、ページに表示されている ASP コントロール (リンクボタン、コンボボックスなど、通常は送信を生成しないが、ポストバックを必要とするもの) があるかどうかです。 __doPostback 関数は、コントロールの 1 つがそれを必要としていると ASP が判断した場合にのみ、ページに配置されます。

これらのいずれかを使用していない場合は、次を使用できます。

Page.ClientScript.GetPostBackClientHyperlink(controlName, "")

ページに機能を追加するには

于 2008-09-08T20:28:16.750 に答える