一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - 使用Asp.net Mvc3 Razor視圖方式擴展JQuery UI Widgets方法介紹

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

2019-10-10 10:51asp.net教程網 ASP.NET教程

jquery easyui grid或者extjs grid,jtable的代碼非常簡潔、對于grid功能要求不是很復雜的情況下,強烈推薦大家使用

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

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

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

someBusinessView.cshtml,通過 
<script type="text/javascript" src="/Template/jsTemplateView?code=xxx" ></script> 
腳本src屬性指向jTableTemplateView頁面,同時傳遞參數code參數到TemplateController, 
TemplateController調用jTableTemplateView視圖渲染時,通過參數Code獲取業務對象相關信息或變量傳遞給jsTemplateView頁面,然后輸出業務腳本信息到someBusinessView,代碼如下: 
1.jTableTemplate.View

復制代碼代碼如下:

 
@{ 
Layout = null; // 只輸出當前視圖 
Response.ContentType = "application/javascript"; // 設定返回MIME類型 

/* 
* jTableTemplate v0.1 created by wdong 2012-11-07 
* Copyright (c) 2012 wdong http://wdong.cnblogs.com/ mail:[email protected] 
* 使用jTableTemplate可以方便生成頁面上所需的Grid列表及Editor編輯窗口,非常簡潔的實現基本表單的CRUD操作 
* USAGE: 參數說明 
* $(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 /> 此處擴展JQuery UI Widgets的基本結構代碼如下: 

復制代碼代碼如下:


$.widget("ui.customwidget", $.extend({}, $.ui.extendwidget.prototype, { 
_init: function(){ 
return $.ui.extendwidget.prototype._init.apply(this, arguments); 


// Override other methods here. 
}));


customerwidget為你自定義的插件名稱,extendwidget為現有插或被擴展插件 
2.someBusinessView.cshtml

復制代碼代碼如下:


@{ 
ViewBag.Title = "AreaList"; 


<script type="text/javascript" src="/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">環境上下文標識</param> 
/// <returns></returns> 
public ViewResult jTableTemplate(string code) 

ViewBag.Code = code; 

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


}


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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品精品 | 午夜在线a亚洲v天堂网2019 | 婷婷日韩 | 男女小视频在线观看 | 99久久综合精品免费 | 日韩毛片在线 | 精品一区二区三区自拍图片区 | 成年男女免费大片在线观看 | 国产亚洲自愉自愉 | 国产一二在线观看视频网站 | 99热在线这里只有精品 | 欧美三级不卡在线观线看高清 | 动漫jk美女被爆羞羞漫画 | 色香视频在线 | 亚洲国产精品综合久久网络 | 久久久久琪琪精品色 | 四虎影院新网址 | 青青草精品在线观看 | freexxx性欧美3d动漫 | 亚洲福利天堂 | 欧美大片一级片 | 晚上禁用的十大黄台视频 | 喜欢老头吃我奶躁我的动图 | 久久视频精品3线视频在线观看 | 成人欧美一区二区三区白人 | 13日本xxxxxxxxx18 1313午夜精品久久午夜片 | 金牛网155755水心论坛黄大父母 | 人人揉揉香蕉 | 免费永久观看美女视频网站网址 | 国内精品久久久久久久久久久久 | 忘忧草在线社区WWW日本直播 | 国产一卡2卡3卡4卡公司科普 | 美国女艳星brandilove | 亚洲品质自拍视频网站 | 青青青手机在线观看 | 成人久久18网站 | 国产区成人精品视频 | 成人免费视屏 | 2021国产精品露脸在线 | 香港三级浴室女警官 | 舔大逼 |