(function($) {
$.extend({
Tmpl_Data) : function(te, data, fun, templatecache) {
data = jQuery.extend({ data: "", url: "", templateData: {}, リモート: true, キャッシュ: true }, data); 🎜>if (!data.remove) {
fun(te.tmpl(data.templateData), te, data.templateData)
if (!templatecache) {
te.remove(); 🎜>}
return ;
}
var da = te.data("objdata");
if (data.cache && da != null && da != 未定義) {
fun(te.tmpl(da ), te, da);
if (!templatecache) {
te.remove();
}
$. ajax({
type : "GET",
data: data.data,
url: data.url,
dataType: "json",
cache: false,
context : { テンプレート: te, データ : データ },
成功: function(tmpldata) {
fun(this.template.tmpl(tmpldata), this.template, tmpldata);
if (data.cache) ) {
this.template.data("objdata", tmpldata);
if (!templatecache) {
this.template.remove();
} ,
error: function (e) {
throw "get data error(" this.data.url "?" this.data.data "):" e;
}
});
},
JquerySelecotrCharChange: function(str) {
return str.replace(".", "\.").replace("#", "\#");
Tmpl: function( template, data, fun) {
template = jQuery.extend({ data: "", url: "", templateSelector: "", リモート: true, キャッシュ: true }, template) ;
if (! template.remote) {
$.Tmpl_Data($(template.templateSelector), data, fun, true);
return;
var te = null;
try {
te = $("script:[url='" $.JquerySelecotrCharChange(template.url "?" template.data) "']")
}
catch (e) {
}
if (template.cache && te != null && te.length > 0) {
$.Tmpl_Data(te, data, fun, template.cache);
}
$.ajax({
type: "GET",
data: template.data,
url: template.url,
dataType: "html",
cache: false,
context: { template: template, data: data },
error: function(e) {
throw "get template error(" this.template.url "?" this. template.data "):" e;
},
成功: function(tmpltemplate) {
var te = $(' ').appendTo(document.body);
te.attr("url", (this.template.url "?" this.template.data)); Tmpl_Data(te, this.data , fun, this.template.cache);
}
});
テストコード :
フロントデスク:
コードをコピー
コードは次のとおりです:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Tmpl3.aspx.cs" Inherits="Tmpl3" %>
<本体>
後台ajaxデータ:
protected void Page_Load(object sender, EventArgs e)
{
if (Request["ajax"] == "1")
{
Response.Clear();
Response.ContentType = "アプリケーション/json";
System.Text.StringBuilder sb = new System.Text.StringBuilder("[");
for (int i = 0; i {
sb.AppendFormat(@" {{
""名前"":""学生{0}"",
""性別"":""{1}""、
""ID"": {0}、
""クラス"":
[
{{
""クラス名"":""クラス{0}""、
""カウント"": {2}
}}、
{{
""クラス名"":"" Class2{0}"",
"" Count"": {3}
}}
]
}},", i, i % 2 == 0 ? "男" : "女", (i 10) / 2, (i 20) / 2);
}
sb.Remove(sb.Length - 1, 1);
sb.Append("]");
Response.Write(sb.ToString());
Response.Flush();
Response.Close();
Response.End();
}
}
效果如上一篇:
デモダウンロード