1.using gizp compress page ,gif file can't be compressed.
2.put script at the bottom,and put css at the top.
3.make the css and js external.
4.load-on-demand.(If a UI block need to show by control.Set visibable=false. and enableviewstate=true,override the saveviewstate method.)
5.remove the duplicate js file.
6.set expire header to static files.
7.make fewer http requests
8.minimize the control id. ......
1. RepeaterÐèÒªÊÖ¶¯È¥°ó¶¨Êý¾Ý¡£ Òâ˼ÊÇ˵ÎÒÃÇÒªÔÚViewµ±ÖÐд ·þÎñ¶Ë´úÂ룬ÏÈ´ÓViewDataÖÐÈ¡µÃÊý¾Ý£¬ÔÙÈ¥°ó¶¨µ½Repeater¡£
2. Èç¹ûÒ»¸öÒ³ÃæÓõ½n+1¸öRepeater£¬Äǻ᲻»á·èµô£¿ ¶øÇÒÒª¸øÃ¿Ò»¸öRepeaterÖ¸¶¨ Id£¬±ØÈ¥°óÊý¾Ý£¬Í·Í´°¡£¡£¡£¡
ÄÇô~~ ¿É²»¿ÉÒÔÈÃRepeaterÓÃÆðÀ´¼òµ¥µãÄØ£¿ À´¶ÔRepeater½øÐÐһϸÄÔ죬´ïµ½Ä¿µÄ¡£
ÔÚMvcµ±ÖУ¬Ê¹Óà ViewData À´´«µÝÊý¾Ý£¬Äǿɲ»¿ÉÒÔÖ±½ÓÈÃRepeater °ó¶¨ ViewData ÖеÄÊý¾ÝÄØ£¿ µ±È»¿ÉÒÔ
¿´¸ÄÔìºóµÄ Repeater Ô´Â룺
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.Mvc;
namespace RepeaterInMvc.Codes
......
ASP.NETÖУ¬¾³£»áʹÓõ½templates(Ä£°æ)¹¦ÄÜ£¬±ÈÈçÔÚdatagrid£¬datalist£¬repeaterµÈ¿Ø¼þÖУ¬Ê¹ÓÃtemplates£¬½«»á´ó´óÔöÇ¿Æä¹¦ÄÜ¡£ÒÔÍù£¬ÎÒÃÇÒ»°ãÊÇÔÚÉè¼Æ³ÌÐòʱ£¬¾ÍÒѾÉèÖúÿؼþÖеÄÄ£°æÊÇÔõÑùµÄÁË¡£µ«ÊÇ£¬ÓеÄʱºò£¬¿ÉÄÜÎÒÃÇÐèÒª¶¯Ì¬¼ÓÔØÄ£°æ£¬±ÈÈ磬µ±ÄãÒªÇóÄãµÄÓ¦ÓóÌÐòµÄ½çÃæ·ç¸ñËæ×ÅÓû§µÄÐèÇó¶ø±ä»¯Ê±£¬Äã¾ÍÐèÒªµ½¶¯Ì¬¼ÓÔØÄ£°æµÄ¹¦ÄÜÁË¡£µ«Òª×¢ÒâµÄÊÇ£¬²¢²»ÊÇËùÓеÄweb¿Ø¼þ¶¼Ö§³ÖÄ£°æ¹¦ÄÜ£¬¶øÇÒҪעÒ⣬ÄÄЩ¿Ø¼þÖ§³ÖÄ£°æµÄÄÄЩ¹¦ÄÜ£¬ÏÂÃæ¼òµ¥ÁгöÁËһЩ֧³ÖÄ£°æ¹¦ÄܵĿؼþ£º
Repeater¿Ø¼þ£¬Ö§³ÖµÄÄ£°æÓУº
HeaderTemplate, FooterTemplate, ItemTemplate, AlternatingItemTemplate, SeperatorTemplate.
Datelist¿Ø¼þ£¬Ö§³ÖµÄÄ£°æÓУº
HeaderTemplate, FooterTemplate, ItemTemplate, AlternatingItemTemplate, SeparatorTemplate, SelectedItemTemplate, EditItemTemplate.
Datagrid¿Ø¼þ£¬Ö§³ÖµÄÄ£°æÓУº
HeaderTemplate, FooterTemplate, ItemTemplate, EditItemTemplate, Pager.
ÏÂÃæ£¬ÎÒ ......
ASP.NETÖУ¬¾³£»áʹÓõ½templates(Ä£°æ)¹¦ÄÜ£¬±ÈÈçÔÚdatagrid£¬datalist£¬repeaterµÈ¿Ø¼þÖУ¬Ê¹ÓÃtemplates£¬½«»á´ó´óÔöÇ¿Æä¹¦ÄÜ¡£ÒÔÍù£¬ÎÒÃÇÒ»°ãÊÇÔÚÉè¼Æ³ÌÐòʱ£¬¾ÍÒѾÉèÖúÿؼþÖеÄÄ£°æÊÇÔõÑùµÄÁË¡£µ«ÊÇ£¬ÓеÄʱºò£¬¿ÉÄÜÎÒÃÇÐèÒª¶¯Ì¬¼ÓÔØÄ£°æ£¬±ÈÈ磬µ±ÄãÒªÇóÄãµÄÓ¦ÓóÌÐòµÄ½çÃæ·ç¸ñËæ×ÅÓû§µÄÐèÇó¶ø±ä»¯Ê±£¬Äã¾ÍÐèÒªµ½¶¯Ì¬¼ÓÔØÄ£°æµÄ¹¦ÄÜÁË¡£µ«Òª×¢ÒâµÄÊÇ£¬²¢²»ÊÇËùÓеÄweb¿Ø¼þ¶¼Ö§³ÖÄ£°æ¹¦ÄÜ£¬¶øÇÒҪעÒ⣬ÄÄЩ¿Ø¼þÖ§³ÖÄ£°æµÄÄÄЩ¹¦ÄÜ£¬ÏÂÃæ¼òµ¥ÁгöÁËһЩ֧³ÖÄ£°æ¹¦ÄܵĿؼþ£º
Repeater¿Ø¼þ£¬Ö§³ÖµÄÄ£°æÓУº
HeaderTemplate, FooterTemplate, ItemTemplate, AlternatingItemTemplate, SeperatorTemplate.
Datelist¿Ø¼þ£¬Ö§³ÖµÄÄ£°æÓУº
HeaderTemplate, FooterTemplate, ItemTemplate, AlternatingItemTemplate, SeparatorTemplate, SelectedItemTemplate, EditItemTemplate.
Datagrid¿Ø¼þ£¬Ö§³ÖµÄÄ£°æÓУº
HeaderTemplate, FooterTemplate, ItemTemplate, EditItemTemplate, Pager.
ÏÂÃæ£¬ÎÒ ......
ÔÚ×î½üµÄÏîÄ¿ÖУ¬Óöµ½Ò»¸öÎÊÌ⣬ҪʵÏÖÕâÑùµÄЧ¹û£º
µãpic_small.AspxÒ³ÃæµÄËõÂÔͼºóµ¯³öpic_all.aspxÒ³Ãæ£¬pic_all.aspxÒ³ÃæµÄ´óСҪ¸ù¾ÝͼƬ´óС×Ô¶¯µ÷Õû£¬¶øÇÒÒªÓÐͼƬµÄ˵Ã÷ÐÅÏ¢£¬»¹¿ÉÒÔµãÉÏÒ»·ùºÍÏÂÒ»·ùµÈ½øÐзҳ¡£
ʵÏÖ¹ý³ÌÈçÏ£º
pic_small.AspxÒ³ÃæËõÂÔͼ´¦µÄ´úÂëΪ£º
£¼IMG id="imgPic" style="CURSOR: hand" border=0 height="95" onclick="ShowWindow(£¼%#DataBinder.Eval(Container.DataItem,"ID")%>)" src='£¼%#"Images/Product/" + DataBinder.Eval(Container.DataItem,"PicUrl")%>' width="118" runat="server">
ShowWindow±£´æÔÚOpenWindows.jsÎļþÖУ¬ÄÚÈÝÈçÏ£º
function ShowWindow(id)
{
window.open('pic_all.aspx?ID=' + id,'_blank','Scrollbars=no');
}
ÒÔÏ´úÂë¼´¿ÉʵÏÖµãËõÂÔͼºóµ¯³öÒ³Ãæpic_all.aspxÏÔʾͼƬÐÅÏ¢£¬ÏÂÃæÒªÊµÏÖµÄÊÇpic_all.aspxÒ³Ãæ¸ù¾ÝͼƬµÄ´óС×Ô¶¯µ÷Õû¡£
°ÑÒÔÏ´úÂë·ÅÔÚpic_all.aspxÒ³ÃæµÄ£¼Head>£¼/Head>Ö®¼ä£º
£¼script>
function window.onload()
{
var obj=document.getElementById("PicUrl");
window.resizeTo(obj.offsetWidth + 127,obj.offsetHeight + 75);
}
£ ......
ÔÚweb¿ª·¢Ê±£¬ÓеÄϵͳҪÇóͬһ¸öÓû§ÔÚͬһʱ¼äÖ»ÄܵǼһ´Î£¬Ò²¾ÍÊÇÈç¹ûÒ»¸öÓû§ÒѾµÇ¼ÁË£¬ÔÚÍ˳ö֮ǰÈç¹ûÔٴεǼµÄ»°ÐèÒª±¨´í¡£
³£¼ûµÄ´¦Àí·½·¨ÊÇ£¬ÔÚÓû§µÇ¼ʱ£¬ÅжϴËÓû§ÊÇ·ñÒѾÔÚApplicationÖдæÔÚ£¬Èç¹û´æÔھͱ¨´í£¬²»´æÔڵϰ¾Í¼Óµ½ApplicationÖÐ(ApplicationÊÇËùÓÐSession¹²Óеģ¬Õû¸öwebÓ¦ÓóÌÐòΨһµÄÒ»¸ö¶ÔÏó)£º
string strUserId = txtUser.Text;
ArrayList list = Application.Get("GLOBAL_USER_LIST") as ArrayList;
if (list == null)
{
list = new ArrayList();
}
for (int i = 0; i < list.Count; i++)
{
if (strUserId == (list[i] as string))
{
//ÒѾµÇ¼ÁË£¬Ìáʾ´íÎóÐÅÏ¢
lblError.Text = "´ËÓû§ÒѾµÇ¼";
return;
}
}
list.Add(strUserId);
Application.Add("GLOBAL_USER_LIST", list);
µ±È»ÕâÀïʹÓÃCacheµÈ±£´æÒ²¿ÉÒÔ¡£
½ÓÏÂÀ´¾ÍÊÇÒªÔÚÓû§Í˳öµÄʱºò½«´ËÓû§´ÓApplicationÖÐÈ¥³ý£¬ÎÒÃÇ¿ÉÒÔÔÚGlobal.asaxµÄSession_EndʼþÖд¦Àí£º
void Session_ ......