asp:Wizardメモ

ウィザード形式のページを簡単に作れます。

ナビゲーションのコマンド名

どこに書いてあるのかわからなかったので、とりあえずメモ。

CommandName

  • MoveNext
  • MovePrev
  • MoveFinish

Tableタグで囲まれるのを防ぐ

asp:WizardはデフォルトでTableタグで囲む上、asp:FormViewのようにテーブルを出力しない設定もありません。
対処法としては、テンプレートを使います。
 <asp:Wizard ID="Wizard1" runat="server" ~>
   <LayoutTemplate>
     <asp:PlaceHolder ID="navigationPlaceholder" runat="server"></asp:PlaceHolder>
     <div runat="server" id="wizardStepPlaceholder"></div>
   </LayoutTemplate>
   <StepNavigationTemplate>
     <asp:Button ID="ButtonStepNext" runat="server" CommandName="MoveNext"/>
   </StepNavigationTemplate>
   <FinishNavigationTemplate>
     <asp:Button ID="ButtonFinish" runat="server" CommandName="MoveFinish" />
   </FinishNavigationTemplate>
   <WizardSteps>
     <asp:WizardStep ID="WizardStep1" runat="server">
       <div id="container">
         <h1>hoge</h1>
         <p>hoge</p>
       </div>
     </asp:WizardStep>
   </WizardSteps>
 </asp:Wizard>

こんな感じ。
wizardStepPlaceholderとnavigationPlaceholderは両方書かないとエラーが起きます。
ナビゲーションのStepとFinishは、それぞれStepNavigationTemplateとFinishNavigationTemplateでテンプレートが分かれてるので注意。

id=wizardStepPlaceholderを指定した部分に、asp:WizardStepの中身が展開されます。
通常は、asp:PlaceHolderを使いますが、上の例のようにタグで代用することもできます。
この再、出力されるHTMLはasp:WizardStepの中身の部分のみで、LayoutTemplateで使用されるタグは影響ありません。

ぶっちゃけ、

 <LayoutTemplate>
   <br runat="server" id="wizardStepPlaceholder" />
   <br runat="server" id="navigationPlaceholder" />
 </LayoutTemplate>

こんなんでも構わないわけですが、なんか気持ち悪いし見通し悪くなるのでやめておいたほうが無難だと思います。

タグ:

Control
最終更新:2013年01月30日 15:10
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。