ASP.NET Mobileのホームへ戻る

Commandコントロール

 

Commandは、フォームをポストバック(PostBack)させるときに使用します。ポストバックされると、フォームから入力したデータがWebサーバに送信されてOnClickOnItemCommandイベントで取得することができます。

 

OnClickイベントは、Command対応に個別に処理を行うときに使用します。OnItemCommandイベントは、イベント処理を複数のCommandで共有するときに使用します。OnItemCommandイベントを使用するときは、CommandNameプロパティにコマンド名を設定してCommandを識別します。また、CommandArgumentプロパティにパラメータを設定して渡すこともできます。

 

Commandは、SelectionListコントロールのように単独ではポストバックできないコントロールをポストバックさせるときにも使用します。

 

書式:

<mobile:Command id=”String” runat=”server”

  CausesValidation=”{False|True}”

  CommandArgument=”String”

  CommandName=”String”

  ImageUrl=”String”

  OnClick=”Eventhandler”

  OnItemCommand=”Eventhandler”

  SoftKeyLabel=”String”

  Text=”String”>

</mobile:Command>

 

下図のサンプルでは、Commandを使用してフォームをポストバックさせています。Commandには、OnClickイベントが登録されていますので、フォームがポストバックされるとOnClickイベントに制御が渡ります。OnClickイベントでは、frmResultフォームに定義されているLabelTextプロパティにメッセージ「GOボタンをクリックしました!」を設定して表示します。frmResultフォームを表示するには、MobilePageクラスのActiveFormプロパティにフォームのIDを設定します。

 

Page_Load()イベントが登録されているときは、Page_LoadOnClickイベントの順に制御が渡ります。

 

Command1.aspx – OnClickイベントを使用するサンプル

 

下図のサンプルでは、複数のCommandからイベント処理を共有しています。Commandのイベントを共有するには、OnClickイベントの代わりにOnItemCommandイベントを使用します。赤色、緑色、青色、中止のCommandでは、OnItemCommandイベントを登録してイベント処理を共有しています。Commandを識別するために、赤色、緑色、青色のCommandには、CommandNameプロパティにColorを設定しています。中止のCommandCommandNameには、Cancelを設定しています。赤色、緑色、青色のCommandには、CommandArgumentプロパティに引数としてカラー名(Red, Green, Blue)を設定して渡しています。

 

CommandをクリックするとフォームがポストバックされてOnItemCommandイベントに制御が渡ります。OnItemCommandイベントでは、CommandNameプロパティを参照してCommandを識別します。CommandNameColorが格納されているときは、CommandArgumentプロパティに格納されているカラー名でメッセージを表示します。メッセージの前景色を変えるには、LabelForeColorプロパティにカラー名を設定します。

 

lblMessage.ForeColor = Color.FromName(“Red”)

lblMessage.ForeColor = Color.FromName(“Green”)

lblMessage.ForeColor = Color.FromName(“Blue”)

 

Command2.aspx – CommandNameCommandArgumentを使用するサンプル

 

ASP.NET Mobileのホームへ戻る