<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
        主站蜘蛛池模板: 2019亚洲午夜无码天堂| 无码少妇精品一区二区免费动态 | 精品久久香蕉国产线看观看亚洲| 日韩毛片免费无码无毒视频观看 | 亚洲人成人网站在线观看| www.黄色免费网站| 久99久精品免费视频热77| 高清永久免费观看| 美女露隐私全部免费直播| 亚洲AV成人影视在线观看| 亚洲嫩草影院在线观看| 图图资源网亚洲综合网站| 亚洲成色在线综合网站| 久久综合亚洲色HEZYO国产| 国产免费一区二区三区VR| 91免费资源网站入口| 亚洲视频免费一区| 无码免费一区二区三区免费播放 | 自拍偷自拍亚洲精品情侣| 免费人成视频x8x8入口| 无码国模国产在线观看免费| 无限动漫网在线观看免费| 午夜国产精品免费观看| 最刺激黄a大片免费网站| 十八禁无码免费网站| 国产白丝无码免费视频| a毛片免费在线观看| 中文精品人人永久免费| 高清永久免费观看| 丝瓜app免费下载网址进入ios| 亚洲精品偷拍视频免费观看| jizz在线免费播放| 国产精品视频全国免费观看 | 亚洲另类激情综合偷自拍图| 国产亚洲日韩在线三区| 亚洲综合网站色欲色欲| 亚洲国产精品一区第二页| 久久精品国产亚洲夜色AV网站| 久久夜色精品国产嚕嚕亚洲av| 久久久影院亚洲精品| 亚洲高清免费在线观看|