1

StringBuilderにJavaScriptを追加できないようです。divタグの形式でHTMLコンテンツを生成する作業ページがあります。これは正常に機能します。StringBuilderの最後に簡単なスクリプトを追加して、divタグが画面に表示され終わったときにクライアント側がアラートを受け取るようにしたかったのですが、次のようになります。

objStringBuilder.Append("<script language='javascript'>")
objStringBuilder.Append("alert('Finished');")
objStringBuilder.Append("</script>")

これにより、IDEにエラーメッセージが表示されます。

statement cannot appear within a method body.  end of method assumed

エラーは最後の行に表示されています:

objStringBuilder.Append("</script>")

このコードはVB.NETで実行されるため、C#のようなセミコロンはありません。

4

4 に答える 4

2

ここで(大きな)推測をします。

  • 仮定:あなたはscript runat="server"ブロック内で作業しています
  • 仮定:スクリプトタグを閉じると(文字列としても)サーバーブロックが閉じます
  • サーバーブロックの形式が正しくなくなりました

または、不正な形式のSubまたはFunctionブロックである可能性があります。

于 2012-09-28T09:00:42.067 に答える
1

objStringBuilder.Append("</script>")に変更して修正しましたobjStringBuilder.Append("</scr" & "ipt>")...

于 2012-09-28T09:04:20.067 に答える
0

Asp.netフォーラムから提案されたように:

コードビハインドからJavascriptを挿入するには

aspxページへのプレーン文字列デプロイメントの代わりにRegisterClientScript

次のようなコードを使用できます

 ScriptManage.RegisterClientScript(this.GetType(), "", "your javascript
    code", true);

また

> Page.ClientScript.RegisterClientScript("", "your javascript code",
> true);

タグ名なしでJavaScriptコードを使用する必要があります

http://forums.asp.net/t/1683634.aspx/1

于 2012-09-28T09:00:05.303 に答える
0
StringBuilder Sb = new StringBuilder();
Sb.Append("alert('Finished');");
Page.ClientScript.RegisterStartupScript(this.GetType(), "", Sb.ToString(), true);
于 2012-09-28T09:38:11.950 に答える