【问题标题】:pass database value as parameter into a Javascript function using jTemplates in ASP.NET?在 ASP.NET 中使用 jTemplates 将数据库值作为参数传递给 Javascript 函数?
【发布时间】:2011-01-29 16:20:34
【问题描述】:

在 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 未定义 如果您需要更多详细信息,请告诉我。

【问题讨论】:

    标签: jquery jtemplates


    【解决方案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 值。

    【讨论】:

    • 如果您注意到 onclick="AddReturnPopUP($T.record.ITReturnID);"模板中的事件你可以找到它
    • 感谢您提供更多详细信息。相应地更新了我的答案。
    • 谢谢,其实我用过这个-onclick="AddReturnPopUP('{$T.record.ITReturnID}');"
    • 你需要把它放在''(引号)之间:D
    • 如果 ID 是数字,则根本不需要任何引号。
    【解决方案2】:

    只要通过这个:onclick="AddReturnPopUP('{$T.record.ITReturnID}');" js函数就可以正常工作了!

    【讨论】:

      猜你喜欢
      • 2012-01-04
      • 2015-06-09
      • 1970-01-01
      • 2013-01-27
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 2012-11-17
      • 2023-03-28
      相关资源
      最近更新 更多