0

Codebehindからの Java スクリプトの呼び出し と、一部のユーザーによって重複としてマークされたその他の質問にアクセスしました。しかし、私の問題に固有のものはどれも役に立ちません。

既に構築された CMS があり、ユーザー コントロールを使用して構築されたモジュールの 1 つを変更する必要があります。およびタグにrunat="server"属性を追加することはできません。formhead

私は持っています

 <asp:GridView ID="gdvResxKeyValue" runat="server" Width="100%"AutoGenerateColumns="False">`</asp:GridView>`

<asp:TreeView ID="tvList" ShowLines="True" runat="server" ImageSet="Msdn"  OnSelectedNodeChanged="tvList_SelectedNodeChanged">
                    <SelectedNodeStyle CssClass="sfSelectednode" />
                </asp:TreeView>

gdvResxKeyValueノードの選択がツリービューで行われている間はバインドされます。

protected void tvList_SelectedNodeChanged(object sender, EventArgs e)
{
    gdvResxKeyValue.DataSource = lstResDef;
    gdvResxKeyValue.DataBind();
    this.Page.ClientScript.RegisterStartupScript(this.GetType(),LocalizationGlobalVariable5", string.Format("edition();"), true);
}

の最後の列に、次のgdvResxKeyValueような画像があります

<asp:TemplateField>
       <ItemTemplate>
            <asp:Image ID="imgEditResxValue" CssClass="sfEdit" runat="server" ImageUrl="~/Administrator/Templates/Default/images/imgedit.png" />
       </ItemTemplate>                            
</asp:TemplateField>                                   

jquery-1.9.1.jsの縮小版を使用して、javascriptを使用して画像クリックハンドラーが必要です。コードを次のように記述しました。

<script type="text/javascript">


//<![CDATA[
$.Localization = {
    TextAreaID: 0,
    FilePath: "",
    ID: 0,
    GridID: '<%=gdvResxKeyValue.ClientID%>'
};
function edition() {
    $('#'+ $.Localization.GridID).on('click', 'img[class="sfEdit"]', function () {
        var index = $(this).attr("alt");
        $.Localization.ID = index;
        var data = $('#' + $.Localization.GridID + ' textarea[title="' + index + '"]').val();
        $('#txtResxValueEditor').val(data);
        ShowPopUp("editorDiv");
    });
}
</script> 

しかし、それは機能していません。

4

2 に答える 2

0

画像をクリックするとJavaScriptメソッドが呼び出されます。ドキュメントの準備ができたら、次のコードを書き、最終的に問題を解決しました。

  $(document).on('click', "#" + $.Localization.GridID + ' img.sfEdit', function (e) {
    var index = $(this).attr("alt");
    $.Localization.ID = index;
    var data = $('#' + $.Localization.GridID + ' textarea[title="' + index + '"]').val();
    $('#txtResxValueEditor').val(data);
    ShowPopUp("editorDiv");
    e.preventDefault();
});
于 2013-08-30T06:30:56.377 に答える