2012-01-17 13 views
0

私は、ポストバック時にJavaScriptを実行するために以下の方法を使用しました。C言語でポストバックでjavascriptを実行する#

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (this.IsPostBack) 
    { 
     Page.ClientScript.RegisterStartupScript(this.GetType(),"PostbackKey","<script type='text/javascript'>document.getElementById('apDiv1').style.visibility = 'hidden';</script>"); 
     Page.ClientScript.RegisterStartupScript(this.GetType(),"PostbackKey","<script type='text/javascript'>function show()</script>"); 
    } 
    else 
    { 
     Page.ClientScript.RegisterStartupScript(this.GetType(),"PostbackKey","<script type='text/javascript'>document.getElementById('apDiv1').style.visibility = 'visible';</script>"); 
    } 
} 

上記のコードはうまくいきましたが、今は以下のように試してみたいと思います。上記のコードverify1()

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (this.IsPostBack) 
    { 
     Page.ClientScript.RegisterStartupScript(this.GetType(),"verify","<script type='text/javascript'>verify1();</script>"); 
    } 
    else 
    { 
    } 
} 

ASPXページに外部からリンクされたJavaScriptです。このコードを使用して関数を実行することができません。そしてverify1()関数がうまく動作した場合は、<body onload="verify1();">上記のコードに構文エラーはありますか?

+0

[asp.net C#ページの外部javascriptファイル](http://stackoverflow.com/questions/5816672/external-javascript-file-from-asp-net-c-sharp-page)を確認してください。 – Bastardo

答えて

1

これはあなたを助けるかもしれない、

Page.ClientScript.RegisterStartupScript(this.GetType()、「検証:1つのオプションは、すべてがintializedされるまでは実行されませんjQueryのオンロード機能を使用することです"、" verify1() "、true);

0

おそらく、そのスクリプトがverify1()の関数定義の前に実行されている可能性があります。 body.onloadが起動するまでに、メインページの解析が完了し、すべての外部スクリプトがロードされたため、そのシナリオで動作します。

jqueryを使用できますか?

$(function() { ...my startup code... }); 
+0

別の方法がありますか? –

関連する問題