我已经阅读过很多关于同一问题的类似主题,但这些修复不适用于我。

我在页面后面的代码的“类”区域中将变量声明为Public,并在Page_Load子例程中为其分配值,但是当我在javascript函数中的aspx页面中调用该变量时,错误指出“ BC30454:表达式不是方法”。

aspx.vb页面

Partial Class Act_Page

Inherits System.Web.UI.Page
Public aname As String

Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    DisplayActInfo()

    aname = Request.QueryString("aname")


ASPX页面中的Javasctipt

<script type="text/javascript">

var aname2 = <%aname%>;


有任何想法吗?

干杯,罗布。

最佳答案

它应该是:

var aname2 = "<%=aname%>";


您忘记了=符号,还忘记了将其包装在引号中,否则将导致客户端脚本错误。

无论如何,这不是最佳实践方式。.在工作时,这是“经典ASP”方式。 ASP.NET提供了从服务器端向客户端代码发送数据的新方法:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "aname", "var aname = \"" + Request.QueryString("aname") + "\"; ", true);


这是C#,但也可以轻松转换为VB.NET,并且在没有意大利面条代码的情况下也具有相同的效果。

08-19 07:29