2015-09-18 6 views
1

У меня есть классическая веб-страница ASP, закодированная в VBScript. У меня есть код HTML для кнопки, которую я хочу отобразить только в том случае, если определенная переменная True. Проблема, с которой я сталкиваюсь, заключается в поиске правильного синтаксиса для размещения HTML-кода внутри переменной, потому что сам код кнопки содержит фрагмент VBScript в нем, определяющий, к чему ведет ссылка кнопки.Размещение фрагмента HTML внутри переменных ASP-переменных

Вот пример моего кода и того, что я пытаюсь выполнить:

yesNo= False 
button= "<div class="view"> 
       <a href="<%=theImaFir4%>"> <!--The ASP here determines the link and is absolutely necessary--> 
        <button class="btn"type="button">View</button> 
       </a> 
     </div>" 

Это вдоль линий, что я хочу:

If Not theImaFir4="#" Then 'default value of link is #' 
yesNo= True 

If yesNo= True Then 
Response.write(button) 

Любые идеи о том, как правильно разместить мой код HTML и ASP внутри моей переменной кнопки? Выполняя это, как я сделал, тег %> в фрагменте HTML закрывает остальную часть моего кода ASP.

Я сделал все возможное, чтобы объяснить, что я пытаюсь выполнить, но если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

ответ

1

Сделайте жизнь проще для себя и используйте одинарные кавычки для значений атрибутов HTML. Тогда вам не нужно беспокоиться о необходимости избегать двойных кавычек в VBScript.

Кроме того, VBScript интерпретирует маркер конца строки как конец инструкции, поэтому вы не можете продолжить назначение строки по нескольким строкам без использования продолжения строки (_) и конкатенации (&).

Например:

button = "<div class='view'>" _ 
     & "<a href='" & theImaFir4 & "'>" _ 
     & "<button class='btn' type='button'>View</button>" _ 
     & "</a>" _ 
     & "</div>" 

Там также нет необходимости <%= %> здесь, так как вы уже в код тега ASP, если вы пишете VBScript. Просто конкатенации переменного в вашу строку:

"<a href='" & theImaFir4 & "'>" 
+0

Это именно то, что мне было нужно, спасибо много! – Fearium

0

Вам не нужно открывать новый тэг asp. Вы также должны избегать двойных кавычек внутри текста кнопки.

button= "<div class=""view""> 
      <a href=""" & theImaFir4 & """> 
       <button class=""btn"" type=""button"">View</button> 
      </a> 
    </div>" 
+0

Обновлен мой ответ, потому что VB использует «», чтобы избежать двойных кавычек, в отличие от того, что у меня было раньше » – spaniol6

+0

Это замечательно, большое спасибо за вашу помощь! – Fearium

0

Наряду с другими ответами я хотел бы также добавить, что использование <%=theImaFir4%> только для HTML использования инлайн, потому что это вызывает Response.Write события.

Если вы уже находитесь в скобках <%%>, вы не используете знак равенства, чтобы отображать html, потому что вас еще нет. Но вы можете использовать <%=button%> в своем html.

+0

Спасибо за ваш вклад, отличный совет! – Fearium

Смежные вопросы