0

我将以下 onclick 事件应用于服务器端代码中的 vb.net 按钮。我需要查询字符串包含我分配给 btnGenerate 的产品数据属性的内容。

当我单击 btnGenerate 时,我的 Title 出现错误,我认为这与我使用各种引号有关。

将 #btnGenerate 和 products 周围的单撇号更改为双引号会导致文本:"$("#btnGenerate").data("products");" 出现在我的查询字符串中,而不是它应该检索的值中。

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

3 回答 3

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'));")
于 2012-07-02T10:23:54.793 回答
0

你有嵌套的单引号。尝试这个:

Me.btnGenerate.Attributes.Add( _
    "onclick", _
    "return OpenPrinterFriendly(""DespatchLabel.aspx?salesordernumber=" & _
    e.CommandArgument.ToString & " &newprocessdate=" & hdnNewProcessDate.Value & _
    "&products=$('#btnGenerate').data('products');"")")
于 2012-07-02T10:25:41.683 回答
0

您可能希望执行 jQuery 代码,而不是成为查询字符串的一部分。在这种情况下,将其从引号中拉出:

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

否则,米罗斯拉夫的答案可能就是你想要的。

于 2012-07-02T10:25:45.153 回答