一.多个控件同用一个事件,从而可让代码更清晰,更简单,可维护性强
  如下:多个Button共用一个事件处理的2种方法
  1.利用OnCommand事件
Asp.net开发小技巧<body>
Asp.net开发小技巧    
<form id="form1" runat="server">
Asp.net开发小技巧        
<div>
Asp.net开发小技巧            
<asp:Button ID="Button1" runat="server" Text="测试1" CommandName="1" OnCommand="Button_Click" />
Asp.net开发小技巧            
<asp:Button ID="Button2" runat="server" Text="测试2" CommandName="2" OnCommand="Button_Click" />
Asp.net开发小技巧            
<asp:Button ID="Button3" runat="server" Text="测试3" CommandName="3" OnCommand="Button_Click" />
Asp.net开发小技巧        
</div>
Asp.net开发小技巧    
</form>
Asp.net开发小技巧
</body>

Asp.net开发小技巧protected void Button_Click(object sender, CommandEventArgs e)
    }

  2.利用OnClick事件
Asp.net开发小技巧<body>
Asp.net开发小技巧    
<form id="form1" runat="server">
Asp.net开发小技巧        
<div>
Asp.net开发小技巧            
<asp:Button ID="bt1" runat="server" Text="测试1" CommandName="1" OnClick="Button_Click" />
Asp.net开发小技巧            
<asp:Button ID="bt2" runat="server" Text="测试2" CommandName="2" OnClick="Button_Click" />
Asp.net开发小技巧            
<asp:Button ID="bt3" runat="server" Text="测试3" CommandName="3" OnClick="Button_Click" />
Asp.net开发小技巧        
</div>
Asp.net开发小技巧    
</form>
Asp.net开发小技巧
</body>

Asp.net开发小技巧protected void Button_Click(object sender, EventArgs e)
    }

二. 页面加载后设置默认焦点到控件上

Asp.net开发小技巧<form id="frm" DefaultFocus="txtUserName" runat="server">
Asp.net开发小技巧
</form>

三. 用户点击"Enter"键时触发默认按钮的Click事件

Asp.net开发小技巧<form id="frm" DefaultButton="btnSubmit" runat="server">
Asp.net开发小技巧
</form>

四. 简单的寻找固定的控件
      在页面的控件中按层次寻找控件很痛苦,但是如果你知道控件怎样固定在页面中,就可以用简写”$”来查找控件而不用写递归的代码。请看下面代码,注意”$”的使用:
Asp.net开发小技巧<form id="form1" runat="server" DefaultFocus="formVw$txtName">
Asp.net开发小技巧    
<div>
Asp.net开发小技巧        
<asp:FormView ID="formVw" runat="server">
Asp.net开发小技巧            
<ItemTemplate>
Asp.net开发小技巧                Name: 
Asp.net开发小技巧                
<asp:TextBox ID="txtName" runat="server" 
Asp.net开发小技巧                    Text
='<%# Eval("FirstName") + " " + Eval("LastName") %>' />
Asp.net开发小技巧            
</ItemTemplate>
Asp.net开发小技巧        
</asp:FormView>
Asp.net开发小技巧    
</div>
Asp.net开发小技巧
</form>

这个小技巧也可以用在服务器端的 使用FindControl()函数时:

Asp.net开发小技巧TextBox tb = this.FindControl("form1$formVw$txtName"as TextBox;
Asp.net开发小技巧
if (tb != null)
}

五. 强类型访问跨页提交的控件

      ASP.NET 2.0引入了交叉回发的概念使得一个页面可以将信息回发到另一个不同的页面,可以将button控件的PostBackUrl属性设置为接受回发数据的页面来完成。一般的,回发的数据可以象前一页那样做一些事情。但是,如果你要获得前一页制定控件的属性就需要一个cast(),如果你给引起回发的code-behide页面添加了一个公共属性,你就可以直接以强类型的方式添加PreviousPageType来指向引起回发的页面从而能够访问那个属性。

      果有一个页面Default.aspx,他有一个公共属性来返回此页面上一个TextBox,数据回发目的页(SearchResults.aspx)可以以强类型的方式(不需要FindControl() 方法),在页面的顶部添加:

%>

这样,SearchResults.aspx中代码就可以以强类型的方式访问Default.aspx的TextBox。下面的例子假定Default.aspx定义的属性名为SearchTextBox:

Asp.net开发小技巧TextBox tb = PreviousPage.SearchTextBox;

六. 强类型访问母版页的控件
        PreviousPageType指令并不是唯一的可以强类型访问控件的方法。如果在母版页中定义了一个公共属性,并且想要以强类型的方式访问它,那么就可以在页面顶部添加MasterType指令(注意:MasterType指令同PreviousPageType一样允许定义一个TypeName)

%>

你可以在内容页书写如下的代码来访问目标母版页的属性:

Asp.net开发小技巧this.Master.HeaderText = "Label updated using MasterType directive with VirtualPath attribute.";

相关文章: