I’m using Jquery plugins with literal and repeater control in vb.net. Unfortunately the performance of the plugin is very slow and I’ve narrowed it down to the following code:(I used literal in html page)
Sub GetAllItems()
Dim dt As DataTable = altharaaonline.DXNitems.GetAllDXNitems()
Dim Lt_Body As String = ""
For i = 0 To dt.Rows.Count - 1
Lt_Body += "<li class=""item mix_row""><div class=""outer box""> <a href=""#"" class=""product-image""><img src=""" & dt.Rows(i).Item("ImgUrl").ToString & """ alt=""" & dt.Rows(i).Item("ProductNameEnglish").ToString & """ width=""117px"" height=""165px"" /></a><div class=""ic_caption""><h2 class=""product-name""><a href=""Item.aspx?id=" & dt.Rows(i).Item("Id").ToString & """ title=""" & dt.Rows(i).Item("ProductNameEnglish").ToString & """ </a></h2><div class=""actions""><button style=""display:none;"" type=""button"" title=""Add to Cart"" class=""button btn-cart""> <span> <span>Add to Cart</span> </span> </button><a rel=""example_group"" href=""./images/zoom1.jpg"" class=""fancybox quickllook"" id=""fancybox170"">Quick look</a><div class=""price-box""> <span class=""regular-price""> <span class=""price"">" & dt.Rows(i).Item("SellingPrice").ToString & "</span> </span> </div></div></div></div></li>"
Next
Literal1.Text = Lt_Body
End Sub
While the Jquery code was :
typeof YUI!="undefined"&&(YUI._YUI=YUI);var YUI=function(){var a=0,b=this,c=arguments,d=c.length,e=function(a,b){return a&&a.hasOwnProperty&&a instanceof b},f=typeof YUI_config!="undefined"&&YUI_config;e(b,YUI)?(b._init(),YUI.GlobalConfig&&b.applyConfig(YUI.GlobalConfig),f&&b.applyConfig(f),d||b._setup()):b=new YUI;if(d){for(;a<d;a++)b.applyConfig(c[a]);b._setup()}return b.instanceOf=e,b};(function(){var a,b,c="3.4.1",d=".",e="http://yui.yahooapis.com/",f="yui3-js-enabled",g=function(){},h=Array.prototype.slice,i={"io.xdrReady":1,"io.xdrResponse":1,"SWF.eventHandler":1},j=typeof window!="undefined",k=j?window:null,l=j?k.document:null,m=l&&l.documentElement,n=m&&m.className,o={},p=(new Date).getTime(),q=function(a,b,c,d){a&&a.addEventListener?a.addEventListener(b,c,d):a&&a.attachEvent&&a.attachEvent("on"+b,c)},r=function(a,b,c,d){if(a&&a.removeEventListener)try{a.removeEventListener(b,c,d)}catch(e){}else a&&a.detachEvent&&a.detachEvent("on"+b,c)},s=function(){YUI.Env.windowLoaded=!0,YUI.Env.DOMReady=!0,j&&r(window,"load",s)},t=function(a,b){var c=a.Env._loader;return c?(c.ignoreRegistered=!1,c.onEnd=null,c.data=null,c.required=[],c.loadType=null):(c=new a.Loader(a.config),a.Env._loader=c),YUI.Env.core=a.Array.dedupe([].concat(YUI.Env.core,["loader-base","loader-rollup","loader-yui3"])),c},u=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])},v={success:!0};m&&n.indexOf(f)==-1&&(n&&(n+=" "),n+=f,m.className=n),c.indexOf("@")>-1&&(c="3.3.0"),a={applyConfig:function(a){a=a||g;var b,c,d=this.config,e=d.modules,f=d.groups,h=d.rls,i=this.Env._loader;for(c in a)a.hasOwnProperty(c)&&(b=a[c],e&&c=="modules"?u(e,b):f&&c=="groups"?u(f,b):h&&c=="rls"?u(h,b):c=="win"?(d[c]=b.contentWindow||b,d.doc=d[c].document):c!="_yuid"&&(d[c]=b));i&&i._config(a)},_config:function(a){this.applyConfig(a)},_init:function(){var a,b=this,d=YUI.Env,f=b.Env,g;b.version=c;if(!f){b.Env={core:["get","features","intl-base","yui-log","yui-later","loader-base","loader-rollup","loader-yui3"],mods:{},versions:{},base:e,cdn:e+c+"/build/",_idx:0,_used:{},_attached:{},_missed:[],_yidx:0,_uidx:0,_guidp:"y",_loaded:{},_BASE_RE:/(?:\?(?:[^&]*&)*([^&]*))?\b(simpleyui|yui(?:-\w+)?)\/\2(?:-(min|debug))?\.js/,parseBasePath:function(a,b){var c=a.match(b),d,e;return c&&(d=RegExp.leftContext||a.slice(0,a.indexOf(c[0])),e=c[3],c[1]&&(d+="?"+c[1]),d={filter:e,path:d}),d},getBase:d&&d.getBase||function(c){var d=l&&l.getElementsByTagName("script")||[],e=f.cdn,g,h,i,j;for(h=0,i=d.length;h<i;++h){j=d[h].src;if(j){g=b.Env.parseBasePath(j,c);if(g){a=g.filter,e=g.path;break}}}return e}},f=b.Env,f._loaded[c]={};if(d&&b!==YUI)f._yidx=++d._yidx,f._guidp=("yui_"+c+"_"+f._yidx+"_"+p).replace(/\./g,"_");else if(YUI._YUI){d=YUI._YUI.Env,f._yidx+=d._yidx,f._uidx+=d._uidx;for(g in d)g in f||(f[g]=d[g]);delete YUI._YUI}b.id=b.stamp(b),o[b.id]=b}b.constructor=YUI,b.config=b.config||{win:k,doc:l,debug:!0,useBrowserConsole:!0,throwFail:!0,bootstrap:!0,cacheUse:!0,fetchCSS:!0,use_rls:!1,rls_timeout:2e3},YUI.Env.rls_disabled&&(b.config.use_rls=!1),b.config.lang=b.config.lang||"en-US",b.config.base=YUI.config.base||b.Env.getBase(b.Env._BASE_RE);if(!a||!"mindebug".indexOf(a))a="min";a=a?"-"+a:a,b.config.loaderPath=YUI.config.loaderPath||"loader/loader"+a+".js"},_setup:function(a){var b,c=this,d=[],e=YUI.Env.mods,f=c.config.core||[].concat(YUI.Env.core);for(b=0;b<f.length;b++)e[f[b]]&&d.push(f[b]);c._attach(["yui-base"]),c._attach(d),c.Loader&&t(c)},applyTo:function(a,b,c){if(b in i){var d=o[a],e,f,g;if(d){e=b.split("."),f=d;for(g=0;g<e.length;g=g+1)f=f[e[g]],f||this.log("applyTo not found: "+b,"warn","yui");return f.apply(d,c)}return null}return this.log(b+": applyTo not allowed","warn","yui"),null},add:function(a,b,c,d){d=d||{};var e=YUI.Env,f={name:a,fn:b,version:c,details:d},g,h,i=e.versions;e.mods[a]=f,i[c]=i[c]||{},i[c][a]=f;for(h in o)o.hasOwnProperty(h)&&(g=o[h].Env._loader,g&&(g.moduleInfo[a]||g.addModule(d,a)));return this},_attach:function(a,b){var c,d,e,f,g,h,i,j=YUI.Env.mods,k=YUI.Env.aliases,l=this,m,n=l.Env._loader,o=l.Env._attached,p=a.length,n,q=[];for(c=0;c<p;c++)d=a[c],e=j[d],q.push(d),n&&n.conditions[d]&&l.Object.each(n.conditions[d],function(a){var b=a&&(a.ua&&l.UA[a.ua]||a.test&&a.test(l));b&&q.push(a.name)});a=q,p=a.length;for(c=0;c<p;c++)if(!o[a[c]]){d=a[c],e=j[d];if(k&&k[d]){l._attach(k[d]);continue}if(!e)n&&n.moduleInfo[d]&&(e=n.moduleInfo[d],b=!0),b||d.indexOf("skin-")===-1&&d.indexOf("css")===-1&&(l.Env._missed.push(d),l.Env._missed=l.Array.dedupe(l.Env._missed),l.message("NOT loaded: "+d,"warn","yui"));else{o[d]=!0;for(m=0;m<l.Env._missed.length;m++)l.Env._missed[m]===d&&(l.message("Found: "+d+" (was reported as missing earlier)","warn","yui"),l.Env._missed.splice(m,1));f=e.details,g=f.requires,h=f.use,i=f.after;if(g)for(m=0;m<g.length;m++)if(!o[g[m]]){if(!l._attach(g))return!1;break}if(i)for(m=0;m<i.length;m++)if(!o[i[m]]){if(!l._attach(i,!0))return!1;break}if(e.fn)try{e.fn(l,d)}catch(r){return l.error("Attach error: "+d,r,d),!1}if(h)for(m=0;m<h.length;m++)if(!o[h[m]]){if(!l._attach(h))return!1;break}}}return!0},use:function(){var a=h.call(arguments,0),b=a[a.length-1],c=this,d=0,e,f=c.Env,g=!0;c.Lang.isFunction(b)?a.pop():b=null,c.Lang.isArray(a[0])&&(a=a[0]);if(c.config.cacheUse){while(e=a[d++])if(!f._attached[e]){g=!1;break}if(g)return!a.length,c._notify(b,v,a),c}return c._loading?(c._useQueue=c._useQueue||new c.Queue,c._useQueue.add([a,b])):c._use(a,function(c,d){c._notify(b,d,a)}),c},_notify:function(a,b,c){if(!b.success&&this.config.loadErrorFn)this.config.loadErrorFn.call(this,this,a,b,c);else if(a)try{a(this,b)}catch(d){this.error("use callback error",d,c)}},_use:function(a,b){this.Array||this._attach(["yui-base"]);var d,e,f,g,h=this,i=YUI.Env,j=i.mods,k=h.Env,l=k._used,m=i._loaderQueue,n=a[0],o=h.Array,p=h.config,q=p.bootstrap,r=[],s=[],u=!0,v=p.fetchCSS,w=function(a,b){if(!a.length)return;o.each(a,function(a){b||s.push(a);if(l[a])return;var d=j[a],e,f;d?(l[a]=!0,e=d.details.requires,f=d.details.use):i._loaded[c][a]?l[a]=!0:r.push(a),e&&e.length&&w(e),f&&f.length&&w(f,1)})},x=function(c){var d=c||{success:!0,msg:"not dynamic"},e,f,g=!0,i=d.data;h._loading=!1,i&&(f=r,r=[],s=[],w(i),e=r.length,e&&r.sort().join()==f.sort().join()&&(e=!1)),e&&i?(h._loading=!1,h._use(a,function(){h._attach(i)&&h._notify(b,d,i)})):(i&&(g=h._attach(i)),g&&h._notify(b,d,a)),h._useQueue&&h._useQueue.size()&&!h._loading&&h._use.apply(h,h._useQueue.next())};return n==="*"?(u=h._attach(h.Object.keys(j)),u&&x(),h):(q&&h.Loader&&a.length&&(e=t(h),e.require(a),e.ignoreRegistered=!0,e.calculate(null,v?null:"js"),a=e.sorted),w(a),d=r.length,d&&(r=h.Object.keys(o.hash(r)),d=r.length,h.log("Modules missing: "+r+", "+r.length,"info","yui")),q&&d&&h.Loader?(h._loading=!0,e=t(h),e.onEnd=x,e.context=h,e.data=a,e.ignoreRegistered=!1,e.require(a),e.insert(null,v?null:"js")):d&&h.config.use_rls&&!YUI.Env.rls_enabled?(i._rls_queue=i._rls_queue||new h.Queue,g=function(a,b){var c=function(b){x(b),a.rls_advance()},d=a._rls(b);d?(a.rls_oncomplete(function(a){c(a)}),a.Get.script(d,{data:b,timeout:a.config.rls_timeout,onFailure:a.rls_handleFailure,onTimeout:a.rls_handleTimeout})):c({success:!0,data:b})},i._rls_queue.add(function(){i._rls_in_progress=!0,h.rls_callback=b,h.rls_locals(h,a,g)}),!i._rls_in_progress&&i._rls_queue.size()&&i._rls_queue.next()()):q&&d&&h.Get&&!k.bootstrapped?(h._loading=!0,f=function(){h._loading=!1,m.running=!1,k.bootstrapped=!0,i._bootstrapping=!1,h._attach(["loader"])&&h._use(a,b)},i._bootstrapping?(h.log("Waiting for loader","info","yui"),m.add(f)):(i._bootstrapping=!0,h.log("Fetching loader: "+p.base+p.loaderPath,"info","yui"),h.Get.script(p.base+p.loaderPath,{onEnd:f}))):(u=h._attach(a),u&&x()),h)},namespace:function(){var a=arguments,b=this,c=0,e,f,g;for(;c<a.length;c++){g=a[c];if(g.indexOf(d)){f=g.split(d);for(e=f[0]=="YAHOO"?1:0;e<f.length;e++)b[f[e]]=b[f[e]]||{},b=b[f[e]]}else b[g]=b[g]||{}}return b},log:g,message:g,dump:function(a){return""+a},error:function(a,b,c){var d=this,e;d.config.errorFn&&(e=d.config.errorFn.apply(d,arguments));if(d.config.throwFail&&!e)throw b||new Error(a);return d.message(a,"error"),d},guid:function(a){var b=this.Env._guidp+"_"+ ++this.Env._uidx;return a?a+b:b},stamp:function(a,b){var c;if(!a)return a;a.uniqueID&&a.nodeType&&a.nodeType!==9?c=a.uniqueID:c=typeof a=="string"?a:a._yuid;if(!c){c=this.guid();if(!b)try{a._yuid=c}catch(d){c=null}}return c},destroy:function(){var a=this;a.Event&&a.Event._unload(),delete o[a.id],delete a.Env,delete a.config}},YUI.prototype=a;for(b in a)a.hasOwnProperty(b)&&(YUI[b]=a[b]);YUI._init(),j?q(window,"load",s):s(),YUI.Env.add=q,YUI.Env.remove=r,typeof exports=="object"&&(exports.YUI=YUI)})(),YUI.add("yui-base",function(a){function m(a,b,c){var d,e;b||(b=0);if(c||m.test(a))try{return k.slice.call(a,b)}catch(f){e=[];for(d=a.length;b<d;++b)e.push(a[b]);return e}return[a]}function n(){this._init(),this.add.apply(this,arguments)}var b=a.Lang||(a.Lang={}),c=String.prototype,d=Object.prototype.toString,e={"undefined":"undefined",number:"number","boolean":"boolean",string:"string","[object Function]":"function","[object RegExp]":"regexp","[object Array]":"array","[object Date]":"date","[object Error]":"error"},f=/\{\s*([^|}]+?)\s*(?:\|([^}]*))?\s*\}/g,g=/^\s+|\s+$/g,h=a.config.win,i=h&&(!!h.MooTools||!!h.Prototype);b.isArray=!i&&Array.isArray||function(a){return b.type(a)==="array"},b.isBoolean=function(a){return typeof a=="boolean"},b.isFunction=function(a){return b.type(a)==="function"},b.isDate=function(a){return b.type(a)==="date"&&a.toString()!=="Invalid Date"&&!isNaN(a)},b.isNull=function(a){return a===null},b.isNumber=function(a){return typeof a=="number"&&isFinite(a)},b.isObject=function(a,c){var d=typeof a;return a&&(d==="object"||!c&&(d==="function"||b.isFunction(a)))||!1},b.isString=function(a){return typeof a=="string"},b.isUndefined=function(a){return typeof a=="undefined"},b.trim=c.trim?function(a){return a&&a.trim?a.trim():a}:function(a){try{return a.replace(g,"")}catch(b){return a}},b.trimLeft=c.trimLeft?function(a){return a.trimLeft()}:function(a){return a.replace(/^\s+/,"")},b.trimRight=c.trimRight?function(a){return a.trimRight()}:function(a){return a.replace(/\s+$/,"")},b.isValue=function(a){var c=b.type(a);switch(c){case"number":return isFinite(a);case"null":case"undefined":return!1;default:return!!c}},b.type=function(a){return e[typeof a]||e[d.call(a)]||(a?"object":"null")},b.sub=function(a,c){return a.replace?a.replace(f,function(a,d){return b.isUndefined(c[d])?a:c[d]}):a},b.now=Date.now||function(){return(new Date).getTime()};var j=a.Lang,k=Array.prototype,l=Object.prototype.hasOwnProperty;a.Array=m,m.dedupe=function(a){var b={},c=[],d,e,f;for(d=0,f=a.length;d<f;++d)e=a[d],l.call(b,e)||(b[e]=1,c.push(e));return c},m.each=m.forEach=k.forEach?function(b,c,d){return k.forEach.call(b||[],c,d||a),a}:function(b,c,d){for(var e=0,f=b&&b.length||0;e<f;++e)e in b&&c.call(d||a,b[e],e,b);return a},m.hash=function(a,b){var c={},d=b&&b.length||0,e,f;for(e=0,f=a.length;e<f;++e)e in a&&(c[a[e]]=d>e&&e in b?b[e]:!0);return c},m.indexOf=k.indexOf?function(a,b){return k.indexOf.call(a,b)}:function(a,b){for(var c=0,d=a.length;c<d;++c)if(c in a&&a[c]===b)return c;return-1},m.numericSort=function(a,b){return a-b},m.some=k.some?function(a,b,c){return k.some.call(a,b,c)}:function(a,b,c){for(var d=0,e=a.length;d<e;++
sample of what am doing can be viewed in “New Products” section in this page. http://www.palmmart.net/default.aspx
I used repeater also and its the same slowness.
When I open it in html without IIS it works very smoothly as shown here: http://palmmart.net/main.html
From the looks of it, not only are you not using jQuery (you’re using YUI), but it doesn’t look like the front end is your problem. My guess is that concatenating a bunch of long strings on the server is slowing your site down considerably.
Try using a
StringBuilderinstead: