CommandName屬性和CommandArgument屬性

在ASP.NET頁面中利用CommandName屬性和CommandArgument屬性:

  你也許對LinkButton組件中CommandName屬性和CommandArgument屬性有點迷惑,他們到底會有什麼作用。其實他們有着非常重要的作用。舉例如下:

   假如在你的一個頁面中有100個LinkButton,那麼在服務器端要判斷到底是哪個LinkButton被按動了。如果沒有這二個屬性,可以通過給 每一個LinkButton的Text屬性賦值,然後通過檢測Text屬性值,來判斷到底是哪個LinkButton被按動了。當然你也可以通過給每一個 LinkButton命不同的名(當然你就是想命同樣的名,在ASP.NET中也是不可以的),然後在事件處理函數中,通過檢測Sender屬性值來判斷 哪個LinkButton被按動。雖然上述這些方法都是可行的,但無一不繁瑣。有了CommandName屬性和CommandArgument屬性就可 以方便的解決這些問題。在程序中給LinkButton的CommandName屬性和CommandArgument屬性賦值,然後通過 OnCommand事件中,就可以得到從CommandEventArgs類中的數據,從而到判斷是哪個LinkButton被按動了。那麼 CommandEventArgs類有是幹什麼的?CommandEventArgs類存儲了和按鈕(Button)事件相關的數據,並且可以在事件處理 中通過CommandEventArgs類的屬性來訪問這些數據。說的明白些,就是當LinkButton被按動後,這個LinkButton所觸發的數 據都被儲存到服務器的CommandEventArgs類中,訪問CommandEventArgs類中的屬性也就訪問了被按動的LinkButton 了。這樣說,也許你還有點不清楚,下面通過一個程序例子來具體說明一下。
本文是通過一段和LinkButton組件相關的程序來說 明,LinkButton組件如何通過OnCommand( )事件來傳遞CommandName屬性值和CommandArgument屬性值的。以及在程序中如何讀取CommandEventArgs類中的數 據。
Link.aspx源程序代碼如下:

<% @ Page Language = "C#" Debug = "true" %>
<html >
<head >
<title >Link Button組件演示程序</title >
<script runat = "server" >
protected void LinkButton_Command ( object sender , CommandEventArgs e )
{
Message . Text = "你選擇的是: " + e . CommandArgument ;
}
</script >
</head >
<body >
<form runat = "server" >
<table cellspacing = 0 cellpadding = 0 border = 1 >
<tr > <td > 請選擇日期:</td > </tr >
<tr >
<td align = center >
<asp:LinkButton Text = "星期一" runat = "server" CommandArgument = "星期一" oncommand = "LinkButton_Command" />
</td >
</tr >
<tr >
<td align = center >
<asp:LinkButton Text = "星期二" runat = "server" CommandArgument = "星期二" oncommand = "LinkButton_Command" />
</td >
</tr >
<tr >
<td align = center >
<asp:LinkButton Text = "星期三" runat = "server" CommandArgument = "星期三" oncommand = "LinkButton_Command" />
</td >
</tr >
<tr >
<td align = center >
<asp:LinkButton Text = "星期四" runat = "server" CommandArgument = "星期四" oncommand = "LinkButton_Command" />
</td >
</tr >
<tr >
<td align = center >
<asp:LinkButton Text = "星期五" runat = "server" CommandArgument = "星期五" oncommand = "LinkButton_Command" />
</td >
</tr >
<tr >
<td align = center >
<asp:LinkButton Text = "星期六" runat = "server" CommandArgument = "星期六" oncommand = "LinkButton_Command" />
</td >
</tr >
<tr >
<td align = center >
<asp:LinkButton Text = "星期日" runat = "server" CommandArgument = "星期日" oncommand = "LinkButton_Command" />
</td >
</tr >
</table >
<asp:Label id = "Message" runat = "server" />
</form >
</body >
</html >


  四. 總結:

  本文介紹LinkButton組件一些重要的組成內容,即一些重要的屬性和事件。並通過一個程序例子來具體 說明他的使用方法。LinkButton組件的出現使得在ASP.NET頁面中傳遞參數越來越方便了。但此組件有一個缺憾,就是不能在不支持 javascript語言的瀏覽器上面使用,這是因爲他使用了javascript語言中Submit( )方法來提交頁面的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章