zoukankan      html  css  js  c++  java
  • ASP.NET MVC3 + Ajax + jQuery + jQueryUI + jTemplates

    cshtml:

    View Code
    @model IEnumerable<MvcProjTpl.Entity.DeptEntity>

    @{ViewBag.Title = "jTemplateTest";}

    <h2>jTemplateTest</h2>

    <script src="@Url.Content("~/Scripts/jquery-jtemplates.js")" type="text/javascript"></script>

    <script type="text/javascript">
    /*
    [
    { "DeptId": "dept_id_0000000", "DeptName": "dept_name_0000000", "ParentDept": "-1", "UpdateUser": "uuu", "UpdateTime": "\/Date(1332691200000)\/", "ValidCode": 1 },
    { "DeptId": "dept_id_0000001", "DeptName": "dept_name_0000001", "ParentDept": "-1", "UpdateUser": "user_0000001", "UpdateTime": "\/Date(1332434783000)\/", "ValidCode": 1 },
    { "DeptId": "dept_id_0000010", "DeptName": "dept_name_0000010", "ParentDept": "-1", "UpdateUser": "user_0000005", "UpdateTime": "\/Date(1332434783000)\/", "ValidCode": 1 },
    { "DeptId": "dept_id_0000011", "DeptName": "dept_name_0000011", "ParentDept": "-1", "UpdateUser": "user_0000005", "UpdateTime": "\/Date(1332434783887)\/", "ValidCode": 1 },
    { "DeptId": "dept_id_0000012", "DeptName": "dept_name_0000012", "ParentDept": "-1", "UpdateUser": "user_0000005", "UpdateTime": "\/Date(1332434783887)\/", "ValidCode": 1 },
    { "DeptId": "dept_id_0000013", "DeptName": "dept_name_0000013", "ParentDept": "-1", "UpdateUser": "user_0000005", "UpdateTime": "\/Date(1332434783887)\/", "ValidCode": 1 },
    { "DeptId": "dept_id_0000015", "DeptName": "dept_name_0000015xx", "ParentDept": "-1", "UpdateUser": "user_0000001", "UpdateTime": "\/Date(1332434783000)\/", "ValidCode": 1 },
    { "DeptId": "dept_id_0000016", "DeptName": "dept_name_0000016", "ParentDept": "-1", "UpdateUser": "user_0000001", "UpdateTime": "\/Date(1332434783887)\/", "ValidCode": 1 },
    { "DeptId": "dept_id_0000017", "DeptName": "dept_name_0000017", "ParentDept": "-1", "UpdateUser": "user_0000001", "UpdateTime": "\/Date(1332434783887)\/", "ValidCode": 1 },
    { "DeptId": "dept_id_0000018", "DeptName": "dept_name_0000018", "ParentDept": "-1", "UpdateUser": "user_0000001", "UpdateTime": "\/Date(1332434783887)\/", "ValidCode": 1 }
    ]
    */

    $(document).ready(function () {
    $.getJSON('@Url.Action("GetJsonData", "AjaxDept")', function (data) {
    //setup templates
    $("#listContainer").setTemplateElement("listTemplate").processTemplate(data);
    //$("#itemList").processTemplate(null); //process empty data to show header
    });
    });
    </script>

    <!-- Output elements -->
    <div id="listContainer"></div>
    <!-- Templates -->
    <textarea id="listTemplate" rows="0" cols="0" style="display:none;">
    <table class="gvMain">
    <tr class="gvMainHeader">
    <th>DeptId</th>
    <th>DeptName</th>
    <th>ParentDept</th>
    <th>UpdateUser</th>
    <th>UpdateTime</th>
    <th>ValidCode</th>
    </tr>
    {#foreach $T as item}
    <tr class="{#cycle values=['gvMainRow','gvMainAlternatingRow']}">
    <td>{$T.item.DeptId.bold()}</td>
    <td><a name="lnkView" dataId="{$T.item.DeptId}" href="@Url.Action("Details", "AjaxDept")/{$T.item.DeptId}">{$T.item.DeptName}</a></td>
    <td>{$T.item.ParentDept}</td>
    <td>{$T.item.UpdateUser}</td>
    <td>{$T.item.UpdateTime}</td>
    <td>{$T.item.ValidCode}</td>
    </tr>
    {#/for}
    </table>
    </textarea>

    <div id="dialogArea" title="部门信息" style=" text-align:center; vertical-align:middle;"></div>

    <script type="text/javascript">
    $(function () {
    window.dialog = $("#dialogArea").dialog({ autoOpen: false });

    $("#btnAdd").click(function () {
    var url = '@Url.Content("~/AjaxDept/Create")';
    showDialog(url, "dialogArea");
    });

    $("input[name='btnEdit']").each(function () {
    $(this).click(function () {
    var url = '@Url.Content("~/AjaxDept/Editxxx")' + $(this).attr("dataId");
    showDialog(url, "dialogArea");
    });
    });

    $("input[name='btnDel']").each(function () {
    $(this).click(function () {
    var url = '@Url.Content("~/AjaxDept/Delete")' + $(this).attr("dataId");
    showDialog(url, "dialogArea");
    });
    });

    $("a[name='lnkView']").each(function () {
    $(this).click(function () {
    var url = '@Url.Content("~/AjaxDept/Details")' + $(this).attr("dataId");
    showDialog(url, "dialogArea");
    return false;
    });
    });

    });

    function showDialog(url, dialogElementId, dialogWidth, dialogHeight) {
    var objOption = { height: 360, 750, autoOpen: false, modal: true };
    if (dialogWidth) objOption.width = dialogWidth;
    if (dialogHeight) objOption.height = dialogHeight;
    var dialogElement = $("#" + dialogElementId);
    //window.dialog.dialog("destroy");
    window.dialog = dialogElement.dialog(objOption);
    dialogElement.html('<img src="@Url.Content("~/Content/images/ico/loading.gif")" alt="" /> Loading dialog data...');
    window.dialog.dialog("open");
    //alert("Check Loading");
    dialogElement.load(url + '?timestamp=' + Math.random());
    }
    </script>

    Controller:

    View Code
    public ActionResult jTemplateTest()
    {
    return View();
    }

    //public JsonResult jTemplateTest(int page = 1, int pageSize = 10, string sortName = "dept_name", string sortOrder = "asc")
    //{
    // string whereClause = "";
    // string orderBy = string.Format("{0} {1}", sortName, sortOrder);
    // int totalRowsCount = 0;
    // IList<DeptEntity> list = bll.GetPagedList(out totalRowsCount, whereClause, orderBy, page, pageSize);
    // ViewBag.PagerInfo = new PagerInfo("~/AjaxDept/jTemplateTest", page, pageSize, totalRowsCount);
    // return Json(list, JsonRequestBehavior.AllowGet);
    //}

    public JsonResult GetJsonData(int page = 1, int pageSize = 10, string sortName = "dept_name", string sortOrder = "asc")
    {
    string whereClause = "";
    string orderBy = string.Format("{0} {1}", sortName, sortOrder);
    int totalRowsCount = 0;
    IList<DeptEntity> list = bll.GetPagedList(out totalRowsCount, whereClause, orderBy, page, pageSize);
    ViewBag.PagerInfo = new PagerInfo("~/AjaxDept/jTemplateTest", page, pageSize, totalRowsCount);
    return Json(list, JsonRequestBehavior.AllowGet);
    }

    jTemplates 0.8.1下载

  • 相关阅读:
    ZooKeeper-3.3.4集群安装配置
    zookeeper原理(转)
    flume 转
    Flume NG 简介及配置实战
    Flume NG 配置详解
    '增量赋值(augmented assignment)', 多么痛的领悟!
    用matplotlib制作的比较满意的蜡烛图
    Spyder code editor里的小秘密: 右侧高亮提示
    pywinauto: 导入时遇到 "TypeError: LoadLibrary() argument 1 must be string, not unicode"
    爬取新浪财经个股的历史财报摘要
  • 原文地址:https://www.cnblogs.com/yeahooh/p/2420174.html
Copyright © 2011-2022 走看看