我已经阅读了很多关于同一问题的类似帖子,但修复程序对我不起作用。
我在我的代码隐藏页面的类区域中将我的变量声明为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%>;
有什么想法吗?
干杯,罗布。
答案 0 :(得分:2)
应该是:
var aname2 = "<%=aname%>";
您忘记了=
符号,另外忘了将其包含在引号中,这会导致客户端脚本错误。
无论如何,这不是最好的练习方式..在工作时,它是“经典的ASP”方式。 ASP.NET提供了从服务器端向客户端代码发送数据的新方法:
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "aname", "var aname = \"" + Request.QueryString("aname") + "\"; ", true);
这是C#,但也可以很容易地转换为VB.NET,并且没有意大利面条代码也会产生相同的效果。