2010-12-03 8 views
0

私は基本HTML.DropDownListFor

<% Html.DropDownListFor(N => n.pages、新しいSelectListの(モデルを使用していますstrogly入力された形で

public class linkVM 
{ 
    public AL.Common.Content.Object.PageIndex[] pages{ get; set; } 
    public string sPageId { get; set; } 
} 

として定義のviewmodelを持っています。 SelectList(Model.pages、 と記載されている部分)でコンパイルエラーが発生しました。 'Model'がSystem.Webの宣言と矛盾しています。 .Mvc.ViewPage.Model '

基本的な知識の塊は、私が行方不明です明確にあります - 誰でも

おかげ

答えて

0

を私にしてください啓発することができますそれは次のようになります。

<%= Html.DropDownListFor(
    n => n.sPageId, 
    new SelectList(Model.pages, "PageId", "ShortName") 
) %> 

また、あなたのビューが強くに入力されていることを確認してくださいこのlinkVMクラス(最上部の@Pageディレクティブ):

<%@ Page 
    Language="C#" 
    MasterPageFile="~/Views/Shared/Site.Master" 
    Inherits="System.Web.Mvc.ViewPage<AL.MgrSite.ViewModel.content.linkVM>" %> 

また、このビューをレンダリングされたコントローラのアクションは、正しいモデルを渡す必要があります。

public ActionResult Index() 
{ 
    var model = new linkVM 
    { 
     // TODO: fetch those from your repository 
     pages = new[] 
     { 
      new PageIndex { PageId = "1", ShortName = "name 1" }, 
      new PageIndex { PageId = "2", ShortName = "name 2" }, 
      new PageIndex { PageId = "3", ShortName = "name 3" }, 
     } 
    }; 
    return View(model); 
} 

また、C#での大会には、クラス名とプロパティ名は大文字で開始することです。

+0

マイページディレクティブには以下が含まれます:Inherits = "System.Web.Mvc.ViewPage "%> ianmt

+0

OK、それは私によく見えます。 –

+0

私はあなたの提案を変更しましたが、同じエラーが発生します – ianmt