为什么变量不会从aspx.vb传递到aspx?

时间:2011-08-31 11:43:28

标签: javascript asp.net variables

我已经阅读了很多关于同一问题的类似帖子,但修复程序对我不起作用。

我在我的代码隐藏页面的类区域中将我的变量声明为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%>;

有什么想法吗?

干杯,罗布。

1 个答案:

答案 0 :(得分:2)

应该是:

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

您忘记了=符号,另外忘了将其包含在引号中,这会导致客户端脚本错误。

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

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

这是C#,但也可以很容易地转换为VB.NET,并且没有意大利面条代码也会产生相同的效果。