0

データベースからデータを収集してドロップダウンリストに挿入する selectlistitem があります。それはすべて機能しますが、たとえばこれを書いた場合、 INTを機能させることができないようです..など。問題はArticleIDにあります

 IEnumerable<SelectListItem> items = db.Articles.Where(c=>c.RegistrationID==getid)
 .Select(c => new SelectListItem
 {
      Value =c.ArticleID +"/"+ c.title,
       Text = c.ArticleID + "/" + c.title
 });
        ViewBag.articles = items;

Unable to cast the type 'System.Int32' to type 'System.Object'というエラー が表示され、ドロップダウンリストが強調表示されます。

@Html.DropDownList("article1",(IEnumerable<SelectListItem>)ViewBag.articles)

私は明らかにc.ArticleID.Tostring()を実行できないので、どうすればこの問題を修正できますか? ArticleID を取り出すと、すべてが正しく機能しますが、そこにそれが必要です..

4

1 に答える 1

0

実際には c.ArticleID.ToString() を使用します。その理由は、文字列を連結しているためです。そのためには文字列値が必要です。Value と Text はどちらも文字列型なので、文字列が必要なのは理にかなっています。

于 2013-03-13T18:09:37.013 に答える