0

次のonclickイベントをサーバー側のコードのvb.netボタンに適用しています。btnGenerateに割り当てている製品データ属性のコンテンツを含むクエリ文字列が必要です。

btnGenerateをクリックすると、タイトルにエラーが表示されます。これは、さまざまな引用符の使用に関係していると思います。

#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 に答える