<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        使用Asp.net Mvc3 Razor視圖方式擴(kuò)展JQuery UI Widgets方法介紹

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:42:15
        文檔

        使用Asp.net Mvc3 Razor視圖方式擴(kuò)展JQuery UI Widgets方法介紹

        使用Asp.net Mvc3 Razor視圖方式擴(kuò)展JQuery UI Widgets方法介紹:JQuery UI Widgets是本人非常喜歡的一套前端JS組件,日常開發(fā)中基于原有的jquery ui widget js代碼進(jìn)行開發(fā),需要寫非常多的重復(fù)代碼,同時一些現(xiàn)有組件無法滿足需求的情況下,需要對現(xiàn)有組件進(jìn)行擴(kuò)展,本文使用一套基于jquery ui 的擴(kuò)展js組件-
        推薦度:
        導(dǎo)讀使用Asp.net Mvc3 Razor視圖方式擴(kuò)展JQuery UI Widgets方法介紹:JQuery UI Widgets是本人非常喜歡的一套前端JS組件,日常開發(fā)中基于原有的jquery ui widget js代碼進(jìn)行開發(fā),需要寫非常多的重復(fù)代碼,同時一些現(xiàn)有組件無法滿足需求的情況下,需要對現(xiàn)有組件進(jìn)行擴(kuò)展,本文使用一套基于jquery ui 的擴(kuò)展js組件-

        JQuery UI Widgets是本人非常喜歡的一套前端JS組件,日常開發(fā)中基于原有的jquery ui widget js代碼進(jìn)行開發(fā),需要寫非常多的重復(fù)代碼,同時一些現(xiàn)有組件無法滿足需求的情況下,需要對現(xiàn)有組件進(jìn)行擴(kuò)展,本文使用一套基于jquery ui 的擴(kuò)展js組件---jtable (http://www.jtable.org),包含了基本的列表和編輯窗口,比起jqGrid,jquery easyui grid或者extjs grid,jtable的代碼非常簡潔、對于grid功能要求不是很復(fù)雜的情況下,強(qiáng)烈推薦大家使用!

        除了jtable組件推薦給大家,本文主要向大家分享一些代碼編寫思路,如何減少前端js重復(fù)代碼,以及基于現(xiàn)有jquery ui widgets組件進(jìn)行擴(kuò)展代碼的寫法
        本文涉及2個視圖文件,1個Controller文件

        jTableTemplateView.cshtml// 基于jtable組件的代碼模板
        someBusinessView.cshtml // 某業(yè)務(wù)功能視圖模板
        TemplateController.cs // 模板后臺Controller控制
        大體思路如下:

        someBusinessView.cshtml,通過
        <script type="text/javascript" src="https://www.gxlcms.com/Template/jsTemplateView?code=xxx" ></script>
        腳本src屬性指向jTableTemplateView頁面,同時傳遞參數(shù)code參數(shù)到TemplateController,
        TemplateController調(diào)用jTableTemplateView視圖渲染時,通過參數(shù)Code獲取業(yè)務(wù)對象相關(guān)信息或變量傳遞給jsTemplateView頁面,然后輸出業(yè)務(wù)腳本信息到someBusinessView,代碼如下:
        1.jTableTemplate.View
        代碼如下: 
        @{
        Layout = null; // 只輸出當(dāng)前視圖
        Response.ContentType = "application/javascript"; // 設(shè)定返回MIME類型
        }
        /*
        * jTableTemplate v0.1 created by wdong 2012-11-07
        * Copyright (c) 2012 wdong http://wdong.cnblogs.com/ mail:wdong0472@gmail.com
        * 使用jTableTemplate可以方便生成頁面上所需的Grid列表及Editor編輯窗口,非常簡潔的實(shí)現(xiàn)基本表單的CRUD操作
        * USAGE: 參數(shù)說明
        * $(selector).ControlName({title:"please your grid title"});
        * $(selector).ControlName("load");
        */

        @using Tiyo.Platform.Business.Entities


        @{
        string code = ViewBag.Code;

        ObjectEntity entity = ViewData[code + ".ObjectCode"] as ObjectEntity;
        IList<ObjectDetailsEntity> entityDetails = entity.Details;


        string controlName = ViewData[code + ".ControlName"].ToString();
        string title = ViewData[code + ".Title"].ToString();
        string paging = ViewData[code + ".Paging"].ToString();
        string pageSize = ViewData[code + ".PageSize"].ToString();
        string defaultSorting = ViewData[code + ".DefaultSorting"].ToString();
        string listAction = ViewData[code + ".ListAction"].ToString();
        string updateAction = ViewData[code + ".UpdateAction"].ToString();
        string deleteAction = ViewData[code + ".DeleteAction"].ToString();
        }

        (function ($) {
        // extend jtable jquery ui widget
        $.widget("jTableTemplate.@controlName", $.extend(true,{}, $.hik.jtable.prototype, {
        _init: function(){
        return $.hik.jtable.prototype._init.apply(this, arguments);
        }
        }));

        //各種屬性、參數(shù)
        var options = {
        title: '@title'
        ,paging: @paging //Enables paging
        ,pageSize:@pageSize //Actually this is not needed since default value is 10.
        ,sorting: true //Enables sorting
        ,defaultSorting: '@defaultSorting' //Optional. Default sorting on first load.
        ,actions: {
        listAction: '@listAction'
        ,deleteAction: '@deleteAction'
        ,updateAction: '@updateAction'
        }
        ,fields: {
        ID: {
        title:"主鍵"
        ,list:false
        }
        @foreach(var field in entityDetails)
        {
        if(!field.Ispk)
        {
        <text>
        ,@field.Fieldname:{
        title:"@field.Displayname"
        ,list: @field.Visible.ToString().ToLower()
        }
        </text>
        }
        }
        }
        };

        $.fn.extend(true,$.jTableTemplate.@{@controlName}.prototype,{options:options});
        })(jQuery);

        此處擴(kuò)展JQuery UI Widgets的基本結(jié)構(gòu)代碼如下:
        代碼如下:
        $.widget("ui.customwidget", $.extend({}, $.ui.extendwidget.prototype, {
        _init: function(){
        return $.ui.extendwidget.prototype._init.apply(this, arguments);
        }

        // Override other methods here.
        }));

        customerwidget為你自定義的插件名稱,extendwidget為現(xiàn)有插或被擴(kuò)展插件
        2.someBusinessView.cshtml
        代碼如下:
        @{
        ViewBag.Title = "AreaList";
        }

        <script type="text/javascript" src="https://www.gxlcms.com/JQueryTemplate/jTableTemplate?code=xxx"></script>

        <div id="DataContainer"></div>

        <script type="text/javascript">
        $.SomeApp = {
        doInit: function() {
        try {
        $('#DataContainer').xxx({title:"test列表"}).xxx("load");
        } catch (err) {
        alert(err);
        }
        }
        }

        $(function(){
        $.SomeApp .doInit();
        });

        </script>

        3.TemplateController.cs
        代碼如下: 
        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Text;
        using Tiyo.Platform.Controller;
        using System.Web.Mvc;

        namespace Tiyo.Plugins.ExtJsTemplate.Controllers
        {
        public class JQueryTemplateController:BaseController
        {
        /// <summary>
        /// 獲取JTable列表+編輯窗口
        /// </summary>
        /// <param name="code">環(huán)境上下文標(biāo)識</param>
        /// <returns></returns>
        public ViewResult jTableTemplate(string code)
        {
        ViewBag.Code = code;

        // 添加視圖所需環(huán)境上下文信息(即控件所需變量值等信息)
        BaseDataHelper.AddContextData(code,ViewData);
        return View();
        }
        }
        }

        注意,此處代碼為獲取jTableTemplate模板視圖所需變量信息,大家可根據(jù)自己習(xí)慣和需要自行替換

        // 添加視圖所需環(huán)境上下文信息(即控件所需變量值等信息)
        BaseDataHelper.AddContextData(code,ViewData);

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        使用Asp.net Mvc3 Razor視圖方式擴(kuò)展JQuery UI Widgets方法介紹

        使用Asp.net Mvc3 Razor視圖方式擴(kuò)展JQuery UI Widgets方法介紹:JQuery UI Widgets是本人非常喜歡的一套前端JS組件,日常開發(fā)中基于原有的jquery ui widget js代碼進(jìn)行開發(fā),需要寫非常多的重復(fù)代碼,同時一些現(xiàn)有組件無法滿足需求的情況下,需要對現(xiàn)有組件進(jìn)行擴(kuò)展,本文使用一套基于jquery ui 的擴(kuò)展js組件-
        推薦度:
        標(biāo)簽: ui jQuery widgets
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产亚洲一区二区三区在线不卡 | 亚洲av日韩av高潮潮喷无码| 67194国产精品免费观看| 亚洲欧美成人一区二区三区| 国产亚洲精品AA片在线观看不加载 | 亚洲精品永久在线观看| 亚洲无码在线播放| 免费在线观看的网站| selaoban在线视频免费精品| 亚洲国产综合精品| 国产精品亚洲视频| 女人18毛片水真多免费看| 久久免费视频观看| 国产成人亚洲精品电影| 亚洲日本国产精华液| 亚洲色欲久久久综合网东京热| 免费看www视频| 精品无码国产污污污免费网站 | 在线播放亚洲第一字幕| 成人免费无码大片A毛片抽搐| 久艹视频在线免费观看| 五月婷婷免费视频| 国产午夜精品理论片免费观看| 亚洲毛片av日韩av无码| 97人妻无码一区二区精品免费| 亚洲视频在线免费| 亚洲久热无码av中文字幕| 亚洲精品视频在线免费| 亚洲自偷自偷图片| 午夜国产羞羞视频免费网站| 国产精品免费精品自在线观看| 99在线视频免费观看| 深夜免费在线视频| 亚洲国产精品嫩草影院| 亚洲人成综合在线播放| 亚洲人成电影亚洲人成9999网| 亚洲国产精品激情在线观看| 免费看片A级毛片免费看| 国产精品免费网站| 日本免费人成在线网站| 久久成人免费电影|