共用方式為


Command 控制項

Command 控制項提供從 UI 項目叫用 ASP.NET 事件處理常式的方式,從而自 UI 項目將使用者輸入張貼回伺服器。Command 控制項實作 IPostBackDataHandler 介面,以便其可以處理因按一下影像而產生的回傳事件。

行動控制項語法

需要的屬性和具程式碼功能的項目以粗體樣式標註。

<mobile:Command   runat="server"
   id="id"
   Font-Name="fontName"
   Font-Size="{NotSet|Normal|Small|Large}"
   Font-Bold="{NotSet|False|True}"
   Font-Italic="{NotSet|False|True}"
   ForeColor="foregroundColor"
   BackColor="backgroundColor"
   Alignment="{NotSet|Left|Center|Right}"
   BreakAfter="{True|False}"
   EnableViewState="{True|False}"
   StyleReference="styleReference"
   Text="text"
   Visible="{True|False}"
   Wrapping="{NotSet|Wrap|NoWrap}"

   CausesValidation="{NotSet|False|True}"
   CommandArgument="commandArgument"
   CommandName="commandName"
   Format="Button|Link"
   ImageUrl="imageUrl"
   OnClick="clickEventHandler"
   OnItemCommand="commandEventHandler"
   SoftkeyLabel="softkeyLabel">
innerText
</mobile:Command>

內含項目規則

下列控制項可以包含 Command 控制項。

控制項 註解
System.Web.UI.MobileControls.Form 可以包含任何數目的 Command 控制項。
System.Web.UI.MobileControls.Panel 可以包含任何數目的 Command 控制項。

文字控制項不可以包含任何其他控制項。

裝置樣板

裝置的特定行為

命令所藉以呈現的樣式將因裝置而異,但命令的文字常常會出現在所有裝置上。您可以從所有裝置叫用 Command 控制項。

裝置語言 行為描述
HTML Command 控制項會以 <input> 標記呈現為後面接著 <br/> 的按鈕

如果在相同表單有多個命令並發生送出動作,第一個命令將會接收 Click 事件。然而在某些 HTML 表單上,ENTER 鍵沒有作用;如果 ENTER 鍵是使用網頁上的 Command 控制項來按下的,第一個命令會接收 Click 事件。

WML Command 控制項會以下列格式產生 WML。
<anchor>TextProperty<go href="postbackinfo"/> </go></anchor>
<br/>
注意 您必須在 ASP.NET Mobile Web Form 網頁 URL 中避免使用特殊字元。為了將命令事件張貼回伺服器而產生的 HREF 標記並沒有經過嚴格驗證。包含空格的 URL 會導致產生某些 WML 瀏覽器無法處理的 WML。

在某些情況下 (例如表單提交),Command 控制項會在 WML 呈現為 <do> 項目,而不是呈現為錨點。在這些狀況下,FontSizeFontStyleWrapping 屬性 (Property) 會被忽略。

範例

下列範例使用兩個標籤 (Label);每一表單各一個。第一個標籤不會修改,因此不需要 ID 值。第二個標籤的 ID 值是 WelcomeMessage,而其文字值會在 Button_OnClick 事件處理常式中設定。

<%@ Page Inherits=
   "System.Web.UI.MobileControls.MobilePage" Language="VB" %>
<%@ Register TagPrefix="mobile"
    Namespace="System.Web.UI.MobileControls"
    Assembly="System.Web.Mobile" %>

<script language="vb" runat="server">
protected Sub Button_OnClick(sender As Object, e As EventArgs) 
   WelcomeMessage.Text = "Welcome to my app, " + NameEdit.Text
   ActiveForm = SecondPanel
End Sub
</script>

<mobile:Form runat="server">
   <mobile:Label runat="server">Enter your name</mobile:Label>
   <mobile:TextBox runat="server" id="NameEdit" />
   <mobile:Command runat="server" id="Button" OnClick="Button_OnClick">
      OK
   </mobile:Command>
</mobile:Form>

<mobile:Form runat="server" id="SecondPanel">
   <mobile:Label runat="server" id="WelcomeMessage" />
</mobile:Form> 
[C#]
<%@ Page Inherits=
   "System.Web.UI.MobileControls.MobilePage" Language="C#" %>
<%@ Register TagPrefix="mobile"
    Namespace="System.Web.UI.MobileControls"
    Assembly="System.Web.Mobile" %>

<script language="c#" runat="server">
protected void Button_OnClick(Object sender, EventArgs e) 
{
   WelcomeMessage.Text = "Welcome to my app, " + NameEdit.Text;
   ActiveForm = SecondPanel;
}
</script>

<mobile:Form runat="server">
   <mobile:Label runat="server">Enter your name</mobile:Label>
   <mobile:TextBox runat="server" id="NameEdit" />
   <mobile:Command runat="server" id="Button" OnClick="Button_OnClick">
      OK
   </mobile:Command>
</mobile:Form>

<mobile:Form runat="server" id="SecondPanel">
   <mobile:Label runat="server" id="WelcomeMessage" />
</mobile:Form>

請參閱

Command 類別 | Command 類別成員 | 控制項參考