,歡迎訪問網頁設計愛好者web開發。1.asp.net 2.0中的maxpagestatefieldlength 屬性 
在asp.net 2.0中,可以強制對viewstate進行分段傳輸了,使用的是page.maxpagestatefieldlength 屬性,可以設置viewstate中,每個頁面狀態字段的最大字節數。格式如下,要在web.config文件里設置的:
    <pages maxpagestatefieldlength="5" />
    其中,將設置把viewstate為不超過5字節,如果實際的viewstate超過該值,將進行分段傳輸,但每個分段的大小依然不超過maxpagestatefieldlength中的設置值, 默認設置值為-1,表示不對其進行分段傳輸。
2.click button only once in asp.net 2.0 
1 protected void page_load(object sender, eventargs e)
 2     {
 3         postbackoptions options = new postbackoptions(button1,string.empty);
 4 
 5         stringbuilder sb = new stringbuilder();
 6         if (button1.causesvalidation && this.getvalidators(button1.validationgroup).count > 0)
 7         {
 8             options.clientsubmit = true;
 9             options.performvalidation = true;
10             options.validationgroup = button1.validationgroup;
11 
12             sb.append("if (typeof(page_clientvalidate) == 'function')");
13             sb.append("if(page_clientvalidate(/"" + button1.validationgroup + "/")==false) return false;");
14         }
15         if (!string.isnullorempty(button1.postbackurl))
16             options.actionurl = httputility.urlpathencode(button1.resolveclienturl(button1.postbackurl));
17         
18         sb.append("this.disabled = true;");
19         sb.append(clientscript.getpostbackeventreference(options));
20         sb.append(";");
21         button1.attributes.add("onclick", sb.tostring());
22     }
3.asp.net 2.0中得到sqldatasource返回的行數 
在asp.net 2.0中,gridview是和sqldatasource控件綁定的,那么如何得到sqldatasource返回的記錄的行數呢?比如sqldatasource控件中用select * from ....,如何返回其記錄行數?在.net 2.0中,可以通過sqldatasource的onselected事件實現,并且對select事件sqldatasourcestatuseventargs參數中的affectedrows屬性設置一下就可以了,具體核心代碼如下:
 protected void sqldatasource1_selected(object sender, sqldatasourcestatuseventargs e)
 {
   totalrows.text = e.affectedrows.tostring();
 }
  <asp:sqldatasource id="sqldatasource1" runat="server" connectionstring="data source=(local);initial catalog=northwind;user id=sa;password=123456;"  providername="system.data.sqlclient" selectcommand="select [customerid], [companyname], [contactname] from [customers]" onselected="sqldatasource1_selected"></asp:sqldatasource> 
4.在asp.net 1.1中,當要在page_load頁面中,設置某個控件為默認的焦點按鈕(也就是默認焦點是在這個控件上的),可能要用到javascript的代碼,而在asp.net 2.0中,不用這些麻煩了,在form代碼中,使用 
  defaultbutton和  defaultfocus屬性就可以了,比如 
 <form id="form1"
    defaultbutton="btnsubmit"
 
    defaultfocus="textbox1"
 
    runat="server"> 
則在頁面加載時,默認的button按鈕時btnsubmit,焦點默認就在texbox1上了 
5.asp.net 2.0中的彈出對話框 
在asp.net 1.1中,要做1個彈出的對話框的話,一般是在服務端的代碼中這樣寫: 
btnclick.attributes.add("onclick", "return confirm('are you sure?');"); 
現在在asp.net 2.0中,只要使用客戶端的代碼就可以拉,新多了個onclientclick,這樣寫 
<asp:button id="btnclick" runat="server" onclientclick="return confirm('are you sure?');" text="button"></asp:button> 
5.自定義的頁面控件, 
比如在asp。net 1。1中,要聲明自定義的頁面控件, 
通常要在用到的每頁都要加入register prefix=........這樣的,很麻煩,而在asp.net 2.0中,如果你確定一個頁面自定義控件要在 
整個項目中用到,只需要在web.config中加入 
<system.web> 
    <pages>
    <controls>
      <add tagprefix="prefixname" namespace="namespacename "/>
    </controls>
   </pages>
</system.web> 
其中prefixname為控件的標識,namespace為命名空間就可以了。 
 
    <controls>
      <add tagprefix="prefixname" namespace="namespacename "/>
    </controls>
   </pages>
</system.web> 
其中prefixname為控件的標識,namespace為命名空間就可以了。