0

通常の ID と番号のリンク ボタンでクライアント スクリプトのクリック イベントを作成することができました。しかし、これを文字列で実行しようとすると、解析エラーが発生します。Even("name") 値を囲むために一重引用符を追加することに違いはありません。一重引用符が欠落している場合、JavaScript エラーが発生します。存在する場合、ASPX 解析エラーが発生します。何か案は?

<asp:DataList ID="DataList1" runat="server">
    <ItemTemplate>
        <asp:LinkButton ID="LinkButton1" runat="server" 
          OnClientClick='<%# "javascript:setDialogValue('" + Eval("name") + "');return false;" %>'
          PostBackUrl="#" Text='<%# Eval("name") %>' Font-Size="Small" />
    </ItemTemplate>
</asp:DataList>
4

1 に答える 1

2

二重引用符を使用してエスケープします。

<asp:DataList ID="DataList1" runat="server">
    <ItemTemplate>
        <asp:LinkButton ID="LinkButton1" runat="server" 
          OnClientClick='<%# "javascript:setDialogValue(\"" + Eval("name") + "\");return false;" %>'
          PostBackUrl="#" Text='<%# Eval("name") %>' Font-Size="Small" />
    </ItemTemplate>
</asp:DataList>
于 2009-09-19T13:36:12.783 に答える