Почему переменная не перейдет из aspx.vb в aspx? - PullRequest
0 голосов
/ 31 августа 2011

Я читал много похожих тем об одной и той же проблеме, но исправления не работают для меня.

Я объявляю свою переменную как Public в области Class моего кода за страницей и назначаюзначение в подпрограмме Page_Load, но когда я вызываю эту переменную на странице aspx в функции javascript, в сообщении об ошибке говорится, что «BC30454: выражение не является методом».*

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")

Javasctipt на странице aspx

<script type="text/javascript">

var aname2 = <%aname%>;

Есть идеи?

Приветствия, Роб.

1 Ответ

2 голосов
/ 31 августа 2011

Должно быть:

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

Вы забыли знак =, а также забыли заключить его в кавычки, что привело бы к ошибке скрипта на стороне клиента.

Во всяком случае, это не лучший способ практики ... во время работы это "классический ASP". ASP.NET предлагает новые способы отправки данных со стороны сервера в код на стороне клиента:

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

Это C #, но он также может быть легко преобразован в VB.NET и будет иметь тот же эффект без спагетти-кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...