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
StringBuilder Sb = new StringBuilder();
Sb.Append("alert('Finished');");
Page.ClientScript.RegisterStartupScript(this.GetType(), "", Sb.ToString(), true);
于 2012-09-28T09:38:11.950 回答
0

正如 Asp.net 论坛所建议的那样:

从代码隐藏插入 Javascript 我更喜欢你使用

RegisterClientScript 而不是平面字符串部署到 aspx 页面

你可以使用类似的代码

 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 回答