ASP.NET 2.0 中收集的小功能點

來源:互聯網
上載者:User
asp.net 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為命名空間就可以了。
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.