2

JavaScript コードを含むライブラリ プロジェクトでサーバー コントロールを作成しています。JavaScript コードはボタンの ID を取得する必要があるため、<%= button.ClientID %> を使用しました。次に、JavaScript コードをファイルとしてライブラリ プロジェクトに埋め込み、ScriptManager を使用してスクリプトを CreateChildControls() に追加します。

Dim sm = ScriptManager.GetCurrent(Me.Page) 
sm.Scripts.Add(New ScriptReference("xxx.js", "LibraryProjectName"))   

しかし、ページを実行すると、jquery parse error: invalid expression term '>' が表示されます。したがって、コードが生成されたと推測していますが、サーバーは <%= button.ClientID %> を生成された ID 形式に変換しません。では、この場合はどうすればよいのでしょうか。

4

3 に答える 3

2

ボタン名の代わりに、非常に具体的な CSS クラス名を設定します。

<asp:Button ID="btnMyGroovy" runat="server" CssClass="VerySpecific" Text="Action" />

次に、jQueryセレクターを使用して$('.VerySpecific')、コントロール名ではなく取得します。アイテムには複数のクラスの関連付けがある場合があることに注意してください。:)

サーバーコントロールCSSクラスを選択することで、選択をより正確にすることができます。.VerySpecificContainerのインスタンスを選択しますVerySpecificコントロールに含まれています。

于 2013-04-04T16:26:57.967 に答える