2012-07-02 97 views
0

我正在將以下onclick事件應用於服務器端代碼中的vb.net按鈕。我需要查詢字符串來包含我分配給btnGenerate的產品數據屬性的內容。「未捕獲的SyntaxError:意外的令牌非法」VB.NET問題

當我點擊btnGenerate時,我在我的標題中看到錯誤,我認爲它與我使用各種引號有關。

更改#btnGenerate和產品雙引號的單撇號會導致文本:「$(」#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\');')") 

編輯:

對於使用jQuery檢索值,你需要有這個(類似於Konrad的回覆,儘管他錯過了+符號:

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

這很好地避免了引號,儘管它仍然只是將jquery作爲文本插入到查詢字符串中。而不是檢索值。編輯:我剛剛看到康拉德的答案,我會去給它一個去。編輯2:康德拉德的答案給出了意想不到的標識符錯誤。 – 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

拔出哪些位引號,在我的和Miroslav的代碼我看不到JQuery部分被包含在qotes中嗎? – Korv

+0

@Korv不,在你的和Miroslav的代碼中,jQuery位在引號內。 –

相關問題