MVC2, C# ve Linq to Entities öğelerini tek bir projede (evet, kızgınım) öğrenmeye çalışıyorum ve DropDownListFor ile ilgili bazı sorunlar yaşıyorum ve SelectList'i ona aktarıyorum. ASP.Net MVC2 DropDownListFor
Bu
benim denetleyicisi kodu:public ActionResult Create()
{
var Methods = te.Methods.Select(a => a);
List<SelectListItem> MethodList = new List<SelectListItem>();
foreach (Method me in Methods)
{
SelectListItem sli=new SelectListItem();
sli.Text = me.Description;
sli.Value = me.method_id.ToString();
MethodList.Add(sli);
}
ViewData["MethodList"] = MethodList.AsEnumerable();
Talkback tb = new Talkback();
return View(tb);
}
ve sıkıntılar DropDownListFor
ViewData
yılında MethodList
almaya almaya çalışırken yaşıyorum. Ben çalıştığınızda:
<%:Html.DropDownListFor(model => model.method_id,new SelectList("MethodList","method_id","Description",Model.method_id)) %>
Bu hataları aşağıdaki iletiyle bir dize olarak MethodList
alıyor olarak
DataBinding: 'System.Char' does not contain a property with the name 'method_id'.
Ben, bu yüzden biliyorum ama nasıl bilemiyorum SelectList
almak. Ben yaparsanız normal DropDownList
aşağıdaki:
<%: Html.DropDownList("MethodList") %>
Bu oldukça mutludur.
Herkes yardımcı olabilir mi?
Talkback sınıfı bir L2E tablo sınıfıdır. Yöntemler tablosu ile 0..1 ilişkisi olan bir method_id içerir, bu nedenle Talkback tablosundan method_id Scalar özelliğine ve bu kayıt yöntemine ilişkin belirli bir yönteme Yöntem gezinme özelliğine sahibim. Bu nedenle, bir oluşturma eylemi olduğu için, null olacak bir belirli bir talkback kaydı ile ilgili yöntemi alabilirim. Ancak, geri bildirme modeli aracılığıyla tüm yöntemlere erişemiyorum. Umarım mantıklıdır! – hermiod
Ek kod ile güncellendi. Bunu dene ve bunun senin için işe yarayıp yaramayacağını gör! – Tejs
Şimdi 'Yöntem için aşırı yüklenme yok' hatası aldım DropDownListFor '1 argüman' alır. Belki MVC'yi yanlış anlamışım ancak veritabanı modelinin tüm görünümlerini oluşturmanın ve gerektiğinde değiştirmenin mümkün olacağını düşündüm. Ben rasgele listelerden geçerek (orijinal kodumun dayandığı ViewData aracılığıyla) görüntüye geçişin bazı örneklerini görmüştüm, bu çalışmayı benim durumumda yapmanın bir yolu var mı? Yardımlarınız için teşekkürler Tejs – hermiod