0

ASP.NETでjTemplates + jQueryを使用しているときに、データベース値をパラメーターとしてJavascript関数に渡す方法は?

<td>
    <a href="#" title="Click to edit" onclick="AddReturnPopUP($T.record.ITReturnID);">
    {formatJSONDate($T.record.AssesmentStartYear)}
</td>

これについて何か考えはありますか?

@Dave:あなたの投稿を見ましたが、それは素晴らしいですが、特定のIDをjavascript関数に渡す必要があるだけです - AddReturnPopUP(param) - 私はできません。コードの投稿:

<script id="jTemplate" type="text/html">
                <table border="1" cellpadding="3" cellspacing="2" class="mGrid">
                    <thead>
                        <tr>
                            <th>
                                Assesment Start Year
                            </th>
                            <th>
                                Assesment End Year
                            </th>
                            <th>
                                Returned Income
                            </th>
                            <th>
                                Tax Paid
                            </th>
                            <th>
                                Last Update
                            </th>
                        </tr>
                    </thead>
                    <tbody>
                        {#foreach $T.d as record}
                        <tr class="{#cycle values=['','alt']}">
                            <td>
                                <a href="#" title="Click to edit" onclick="AddReturnPopUP($T.record.ITReturnID);">
                                                {formatJSONDate($T.record.AssesmentStartYear)}
                            </td>
                            <td>
                                {formatJSONDate($T.record.AssesmentEndYear)}
                            </td>
                            <td>
                                {$T.record.ReturnedIncome}
                            </td>
                            <td>
                                {$T.record.TaxPaid}
                            </td>
                            <td>
                                {formatJSONDate($T.record.LastUpdate)}
                            </td>
                        </tr>
                        {#/for}
                    </tbody>
                </table>
                </script>

jTemplate の設定:

function PopulateReturns()
    {
        var param = {clientId: qs};
        var data = JSON.stringify(param);
        $.ajax({
                type: "POST",
                url: "EditClient.aspx/GetReturns",
                data: data,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function success(data) {
                                     $('#placeHolder').setTemplate($("#jTemplate").html());
                                     $('#placeHolder').processTemplate(data);
                },
                error: function (xhr, status, e) {
                    //var err = JSON.parse(xhr.responseText); $("#placeHolder").html("Error:" + err.Message);  
                }
            });
    }

私が必要としているのは$T.record.ITReturnID、パラメータとしての値を Javascript 関数に渡すことですAddNewReturn(Id)。これは現在、例外をスローします:$Tは定義され ていません 詳細が必要な場合はお知らせください。

4

2 に答える 2

1

まだ見ていない場合は、ASP.NET、jQuery、および jTemplates を使用してそのようなことを行う完全な例があります: http://encosia.com/2008/06/26/use-jquery- and-aspnet-ajax-to-build-a-client-side-repeater/

それでも問題が解決しない場合は、質問を更新して詳細を追加してください。テンプレート コード、テンプレートのレンダリングに使用している JavaScript、およびレンダリングしようとしているデータ構造の詳細をさらに確認する必要があります。

ゼロから始める場合は、jTemplates の代わりに jQuery Templates を使用することをお勧めします。jTemplates は素晴らしかったですが、jQuery Templates はもっと積極的にサポート/開発されています。

編集:

onclick 属性を次のように変更します。

<a href="#" title="Click to edit" onclick="AddReturnPopUP({$T.record.ITReturnID});">

これにより、ITReturnID 値が正しく挿入されるはずです。

于 2011-01-29T18:02:04.440 に答える
0

これを渡すだけです: onclick="AddReturnPopUP('{$T.record.ITReturnID}');" js 関数は正しく動作します!

于 2011-01-30T09:56:36.610 に答える