【asp.net使用jquery模板引擎jtemplates呈现表格】jquery动态表格

这篇文章主要介绍了使用jquery模板引擎jtemplates呈现表格的示例,大家参考使用吧

在 MVC 中,使得我们能够更加自由控制我们所想显示HTML。通常情况下,都要做一下数据列表。那么我们可以手动去拼一个表格出来,但这样有时对于复杂的表格说,那就JS代码比较复杂了。我们可以借助JS下的模板引擎,来实现这一功能。下面要介绍就是JTemplates,它也是基于Jquery的。

代码如下:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="/1999/xhtml">

<head runat="server">

<title></title>

<link href="Content/default.css" rel="stylesheet" type="text/css" />

<script src="Scripts/jquery-1.3.1.js" type="text/javascript"></script>

<script src="Scripts/jquery-jtemplates.js" type="text/javascript"></script>

<script type="text/javascript">

$(document).ready(function() {

$.ajax({

type: "POST",

url: "<%=Url.Action("TempleteData", "Home") %>",

data: "{}",

contentType: "application/json; charset=utf-8",

dataType: "json",

success: function(msg) {

//instantiate a template with data

ApplyTemplate(msg);

}

});

});

function ApplyTemplate(msg) {

$("#Container").setTemplate($("#TemplateResultsTable").html());

$("#Container").processTemplate(msg);

}

</script>

</head>

<body>

<div id="Container"> </div>

<%-- Results Table Template --%>

<script type="text/html" id="TemplateResultsTable">

{#template MAIN}

<table cellpadding="10" cellspacing="0">

<tr>

<th>Username</th>

<th>Password</th>

<th>Url</th>

<th>Email</th>

<th>PassportID</th>

</tr>

{#foreach$Tasuu}

{#includeROWroot=$T.uu}

{#/for}

</table>

{#/templateMAIN}

{#templateROW}

<trclass="{#cyclevalues=["","evenRow"]}">

<td>{$T.UserName.bold()}</td>

<td>{$T.Password}</td>

<td>{$T.Url.link($T.Url)}</td>

<td>{$T.Email.link("mailto:"+$T.Email)}</td>

<td>{$T.PassportID}</td>

</tr>

{#/templateROW}

</script>

</body>

</html>

通过ajax返回json数据,setTemplate根据Id设置模板,然后ApplyTemplate就可以了。

CS代码:

代码如下:

///<summary>

///Templetesthedata.

///</summary>

///<returns></returns>

publicJsonResultTempleteData()

{

IList<UserEntity>userlist=newList<UserEntity>()

{

newUserEntity(){UserName="Tina",PassportID=23433,Email="asdfa@",Password="NKASD",Url=

""}

,newUserEntity(){UserName="Lucy",PassportID=3444,Email="2v2@",Password="v23sda",Url=

""}

};

returnJson(userlist);

}