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 以及有关您尝试呈现的数据结构的更多详细信息。

值得注意的是,如果您是从头开始,我建议您使用 jQuery 模板而不是 jTemplates。jTemplates 很棒,但是 jQuery 模板得到了更积极的支持/开发。

编辑:

像这样更改您的 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 回答