如何在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
未定义
如果您需要更多详细信息,请与我们联系。
答案 0 :(得分: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值。
答案 1 :(得分:0)
传递这个:onclick="AddReturnPopUP('{$T.record.ITReturnID}');"
js功能可以正常工作!