程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> Asp.Net2.0技巧

Asp.Net2.0技巧

編輯:.NET實例教程

出處:http://www.cnblogs.com/liwei6797/archive/2007/04/27/729633.Html

1. 在提交頁面之後,保持滾動條的位置

可以在page指令上加上MaintainScrollPositionOnPostback指令

<%@ Page Language="C#" MaintainScrollPositionOnPostback="true" AutoEventWireup="true" CodeFile="..." Inherits="..." %>

2. 在頁面載入完之後,將焦點移動到某個控件,只需要指定FormDefaultFocus屬性就可以了。

<form id="frm" DefaultFocus="txtUserName" runat="server">
  ...
</form>

3. 通過DefaultButton屬性設置form的默認相應按鈕,即在用戶敲回車時觸發的按鈕

$False$

<form id="frm" DefaultButton="btnSubmit" runat="server">
  ...
</form>

4. 可以使用$符號輕松的使用FindControl方法找到控件

<form id="form1" runat="server" DefaultFocus="formVw$txtName">
    <div
>
        <ASP:FormVIEw ID="formVw" runat
="server">
            <ItemTemplate
>
                Name: 
                <ASP:TextBox ID=
"txtName" runat="server" 
                    Text=''<%# Eval("FirstName") + " " + Eval("LastName") %>''
/>
            </ItemTemplate
>
        </ASP:FormVIEw
>
    </div
>
</form>

在上面的例子中使用formDefaultFocus屬性指定頁面載入時焦點所在的控件,使用$符號就可以輕松的定位txtName

也可以使用以下代碼來輕松的找到控件

TextBox tb = this.FindControl("form1$formVw$txtName") as TextBox;
if (tb != null
)
{
    
//Access TextBox control
}

5. 

關於跨頁提交的取得發出提交頁面控件強類型的方法,見原文

6. 使用強類型訪問MasterPage屬性成員的方法,見原文

7. 我們可以使用驗證控件的屬性      ValidationGroup 指定該驗證控件所屬組,同時在buttonValidationGroup屬性中指定該button所需要激活的驗證組。

<form id="form1" runat="server">
    Search Text: <ASP:TextBox ID="txtSearch" runat="server" 
/> 
    <ASP:RequiredFIEldValidator ID="valSearch"

"> runat="Server" 
      ControlToValidate="txtSearch" ValidationGroup="SearchGroup" 
/> 
    <ASP:Button ID="btnSearch" runat="server" Text="Search"
 
      ValidationGroup="SearchGroup" 
/>
    ....
    Other controls with validators and buttons defined here
</form>

 

1.       在開發web控件時,如果控件必須放在服務器端的form內,可以通過Page.VerifyRenderingInServerForm(Control) 方法來保證。

2.       使用Control類的ResolveClIEntUrl(string)方法可以將類似“~/abc/ab.ASPx”這樣的路徑轉換為正確的url路徑,這在.Net1.0中是一個內部方法,

而在2.0中是公開的方法

3.       Button控件有兩個事件,分別是OnClick和OnCommand,在點擊button之後這兩個事件都會被觸發,兩者的區別是後者可以接受commanArgs參數,而前者不可以。

4.       在寫Web控件時可以通過Themable特性指定某屬性是否可以在Skin文件中指定值。

5.       .Net2.0的驗證控件多了一個SetFocusOnError屬性,可以指定發生錯誤的時候是否讓焦點移動到要驗證的控件上。

6.       在ASPx頁面上可以使用<%$AppSettings: settingKey%>獲得配置文件aPPSettings配置節中指定key的值

7.       當將textbox控件的ReadOnly屬性設置為true時,如果在客戶端用JS腳本改變了這個textbox的值,提交之後在服務器端是得不到改動後的值的,可以通過Request.Form[textbox.ClIEntID]獲得改動後的值。

8.       在.Net1.0中只有一個Html input的上傳文件控件,而在2.0中有了一個WebControl:FileUpload,在驗證用戶時候選擇文件並上傳時,可以通過它的HasFile屬性來判斷,而不必這樣來判斷FileUpload1.PostFile != null && FileUpload1.PostFile.ContentLength > 0。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved