SORU
5 Ocak 2014, Pazar


Uzatma yöntemleri dinamik olarak gönderilir olamaz

MVC DropDownListFor istiyorum

@foreach (var item in Model)
{
@Html.DropDownListFor(modelItem => item.TitleIds, new SelectList(ViewBag.TitleNames as System.Collections.IEnumerable, "TitleId", "Title.TitleText"), "No: "   ViewBag.MagNo, new { id = "TitleIds" })   
}

Denetleyici

public ActionResult ArticleList(int id)
{
    ArticleWriter_ViewModel viewModel = new ArticleWriter_ViewModel();
    Func<IQueryable<NumberTitle>, IOrderedQueryable<NumberTitle>> orderByFunc = null;
    Expression<Func<NumberTitle, bool>> filterExpr = null;
    if (id > 0)
    {
        filterExpr = p => p.MagazineId.Equals(id);
    }
    var wholeTitles = unitOfWork.NumberTitleRepository.Get(filterExpr,  orderByFunc, "Magazine,Title").ToList();          

    ViewBag.MagNo = wholeTitles[0].Magazine.MagNo.ToString();
    ViewBag.MagId = wholeTitles[0].Magazine.Id;
    ViewBag.TitleNames = wholeTitles;

    return View("../Panel/Magazine/ArticleList", "_BasicLayout", viewModel);
}

ama bu hata alıyorum

'System.Web.Mvc.HtmlHelper<System.Collections.Generic.IEnumerable<Cinemavaadabiat.ViewModel.ArticleWriter_ViewModel>>' hiçbir geçerli bir yöntem seçti 'DropDownListFor' ama bu isimde bir uzantı yöntemi gibi görünüyor. Uzatma yöntemleri dinamik olarak gönderilir olamaz. Dinamik değişkenler döküm veya uzatma yöntemi olmadan uzatma yöntemi sözdizimi arayasım geliyor.

Hata anlamak edemem, bunu kontrol için ne yapmalıyım?

CEVAP
5 Ocak 2014, Pazar


Desteklenmeyen uzantı yöntemleri dinamik türleri kullanıyorsunuz.

Gerçek türleri için dinamik tip dökme ve çalışacaktır.

Şimdi gördüğüm kadarıyla söyleyebilirim:

(string) ViewBag.MagNo

Sonucunu doğuracak

@foreach (var item in Model)
{
    @Html.DropDownListFor(modelItem => item.TitleIds, 
       new SelectList(ViewBag.TitleNames as System.Collections.IEnumerable, 
       "TitleId", "Title.TitleText"), 
       "No: "   (string) ViewBag.MagNo, 
       new { id = "TitleIds" })   
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • aki6336

    aki6336

    14 AĞUSTOS 2008
  • Barnacules Nerdgasm

    Barnacules N

    20 Temmuz 2006
  • bored before i even began

    bored before

    30 Mart 2009