2012-07-02 4 views
0

Я применяю следующее событие onclick к кнопке vb.net в коде на стороне сервера. Мне нужна строка запроса, чтобы содержать содержимое атрибута данных продуктов, которое я назначаю btnGenerate.«Uncaught SyntaxError: Неожиданный токен ILLEGAL» VB.NET Issue

Я получаю сообщение об ошибке в своем названии, когда я нажимаю btnGenerate, я думаю, что это имеет какое-то отношение к использованию различных кавычек.

Изменение одиночных апострофов вокруг #btnПодробнее и продукты для двойных кавычек приводят к тексту: «$ (« # btnGenerate »). Data (« products »); появляясь в моей строке запроса вместо значений, которые он должен извлекать.

Me.btnGenerate.Attributes.Add(_ 
    "onclick", _ 
    "return OpenPrinterFriendly('DespatchLabel.aspx?salesordernumber=" & _ 
    e.CommandArgument.ToString & " &newprocessdate=" & hdnNewProcessDate.Value & _ 
    "&products=$('#btnGenerate').data('products');')") 
+0

Попробуйте переформатировать код на несколько строк для удобочитаемости на этом сайте. – baruch

ответ

2

Вам нужно бежать ваши одиночные кавычки внутри строки с \ характера:

Me.btnGenerate.Attributes.Add("onclick", 
    "return OpenPrinterFriendly('DespatchLabel.aspx?salesordernumber=" & _ 
    e.CommandArgument.ToString & "&newprocessdate=" & hdnNewProcessDate.Value & _ 
    "&products=$(\'#btnGenerate\').data(\'products\');')") 

Edit:

Для извлечения значений с помощью JQuery, вы должны иметь это (похоже на ответ Konrad, хотя у него отсутствует знак +:

Me.btnGenerate.Attributes.Add("onclick", 
    "return OpenPrinterFriendly('DespatchLabel.aspx?salesordernumber=" & _ 
    e.CommandArgument.ToString & " &newprocessdate=" & hdnNewProcessDate.Value & _ 
    "&products=' + $('#btnGenerate').data('products'));") 
+0

Это хорошо скрыло кавычки, хотя оно все еще только вставляет jquery как текст в мою строку запроса. Вместо того, чтобы извлекать значения. EDIT: Я только что видел ответ Конрада, и я собираюсь отдать это. EDIT2: ответ Кондрада дает непредвиденную ошибку идентификатора. – Korv

+0

Я отредактировал ответ ... –

+0

Спасибо, отлично работает сейчас. – Korv

0

У вас есть вложенные одинарные кавычки. Попробуйте следующее:

Me.btnGenerate.Attributes.Add(_ 
    "onclick", _ 
    "return OpenPrinterFriendly(""DespatchLabel.aspx?salesordernumber=" & _ 
    e.CommandArgument.ToString & " &newprocessdate=" & hdnNewProcessDate.Value & _ 
    "&products=$('#btnGenerate').data('products');"")") 
+0

Теперь у вас есть неверный код VB. –

+0

@ KonradRudolph Я не делал VB годами. – baruch

+0

Нет, VB использует '' ''. –

0

Возможно, вы хотите, чтобы код jQuery выполнялся, а не являлся частью строки запроса. В этом случае, вытащить его из цитат:

Me.btnGenerate.Attributes.Add(_ 
    "onclick", _ 
    "return OpenPrinterFriendly('DespatchLabel.aspx?salesordernumber=" & _ 
    e.CommandArgument.ToString & " &newprocessdate=" & hdnNewProcessDate.Value & _ 
    "&products='$('#btnGenerate').data('products'));") 

В противном случае, ответ Мирославова вероятно, что вы хотите.

+0

Потяните, какой бит из кавычек, в моем коде и Мирославе Я не вижу, чтобы часть JQuery была заключена в qotes? – Korv

+0

@Korv Нет, в вашем и коде Miroslav бит jQuery находится внутри кавычек. –

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