ASP.NET MVC アプリケーション開発入門: 第 5 回 HTML ヘルパー メソッドを使用する

第 5 回は、ASP.NET MVC アプリケーションのビューで使われる HTML ヘルパー メソッドについてお話していきます。

 
 
 
 
 
4 Star
(1)
Add to favorites
9/5/2011
E-mail Twitter del.icio.us Digg Facebook
Sign in to ask a question


  • 5. ドロップ ダウン リストを表示するの
    4 Posts | Last post September 10, 2011
    • 5. ドロップ ダウン リストを表示するの項で
      <div class="editor-field">
          <%: Html.DropDownListFor(Function(model) model.State, Model.StateItems, "都道府県を選択してください", Nothing)%>
      </div>
      
      のModel.StateItemsに下線がつき以下エラー表示されました。
      
      パラメーター 'selectList' と一致する引数は 'System.Collections.Generic.List(Of System.Web.Mvc.SelectListItem)' から 'System.Collections.Generic.IEnumerable(Of System.Web.Mvc.SelectListItem)' へ縮小変換します。
      
      ビルドは正常終了しますが、都道府県のドロップダウンリストは表示されずテキストボックスのままです。言語はVBです。ご教授、よろしくお願いいたします。
    • ご質問ありがとうございます。
      Contact.ascx を置く場所の、フォルダ名が間違っている可能性があります。
      
       Views/Shared/EditorTemplates/Contanct.ascx に置いてください。
       このテンプレートが見つからないときには、デフォルトのテンプレートが使用される
       ために、ドロップダウンリストではなくてテキストボックスになっています。
      
    • 回答、ありがとうございます。フォルダ名に相違はなさそうなのですが、、、他に原因はないでしょうか? Viewのコードに「using System.ComponentModel; /Import System.ComponentModel 」が追記されているのは不可解です。
    • 意図どおりに表示されました。。<%: Html.EditorForModel() %> で部分ビューが表示されるという、4の項目の理解が不十分だったようです。ありがとうございました。
  • 5. ドロップ ダウン リストを表示する
    2 Posts | Last post September 06, 2011
    • 5. ドロップ ダウン リストを表示するの項で、
      「複数行が入力できるテキスト エリアを表示する場合は、Html.TextAreaFor メソッドを使います。」も意図する変換は行われず、ソースコードは以下でした。
      
      <div class="editor-field"><input class="text-box single-line" id="Message" name="Message" type="text" value="これはフリースペースのメッセージです" /> </div>
    • ご質問ありがとうございます。
      Contact.ascx を置く場所の、フォルダ名が間違っている可能性があります。
      Views/Shared/EditorTemplates/Contanct.ascx に置いてください。
       このテンプレートが見つからないときには、デフォルトのテンプレートが使用されるために、テキストエリアではなくてテキストボックスになっています。
      
  • 2. モデルとコントローラーの準備
    2 Posts | Last post September 06, 2011
    • 2. モデルとコントローラーの準備の項のPublic Class ContactModel では
      <DisplayName("姓")>を有効にするために、
      Imports System.ComponentModel
      が必要であった。(VB) 
      
    • フィードバックいただきましてありがとうございます。ご指摘の通り、System.ComponentModel の using/import 文が必要です。
      
       それぞれの先頭行に下記を追記しました。
      
       [C#]
       using System.ComponentModel;
       [VB]
       Import System.ComponentModel