Bir Editör Şablonunda nokta seçili bir değer belirleyen bir Html.DropDownListFor var. Editör Şablonunu kısmi bir görünümle değiştirirseniz (HTML şablonunu Editör şablonunda kısmi görünümüne kopyala) çalışır.Html.DropDownListFor in Editor Şablonu seçili değeri ayarlamıyor
örnek kod
Modeli:
public class MainItemViewModel
{
public int MainItemId { get; set; }
public ItemViewModel ItemViewModel { get; set; }
}
public class ItemViewModel
{
public int ItemId { get; set; }
public string Text { get; set; }
public IEnumerable<SelectListItem> ItemSelectList { get; set; }
}
Kontrol:
public class DropDownController : Controller
{
//
// GET: /DropDown/
public ActionResult Index()
{
var mainItemViewmodel = new MainItemViewModel();
mainItemViewmodel.MainItemId = 2;
mainItemViewmodel.ItemViewModel = new ItemViewModel();
mainItemViewmodel.ItemViewModel.ItemId = 2;
mainItemViewmodel.ItemViewModel.Text = "bla5";
List<SelectListItem> someItems = new List<SelectListItem>(){new SelectListItem(){Value = "1",Text = "Test1"},new SelectListItem(){Value = "2",Text = "Test2"}};
mainItemViewmodel.ItemViewModel.ItemSelectList = someItems;
return View(mainItemViewmodel);
}
[HttpPost]
public ActionResult Index(MainItemViewModel mainItemViewModel)
{
return RedirectToAction("Index");
}
}
Açılan \ Index.chtml
@model MainItemViewModel
@using (Html.BeginForm())
{
<br/>
@Html.TextBoxFor(model => model.MainItemId)
<br/>
@Html.EditorFor(model => model.ItemViewModel)
<input name="submit" type="submit" value="submit"/>
}
Açılan \ EditorTemplates \ ItemV iewModel.chtml
@model ItemViewModel
@{
@Html.DropDownListFor(model => model.ItemId, Model.ItemSelectList, "Select Item");
<br/>
@Html.TextBoxFor(model => model.Text);
}
DropDownListFor (model => model.ItemId, Model.ItemSelectList, "Madde seçme"); 2.I aslında sen
Ben bütün dropdownlist başka dahilinde başka bir görünüm modeli olan hariç aynı şeyi yapıyor için otomatik seçmek gerekiyordu ve ince çalıştı düşünce seçmez.
editör Şablonlar ve dropdownlist ile bir problem var mı, ben bu soruna en cevapları baktım ve ben bu çözümleri baktım çalışır herhangi kesin bir cevap görmüyorum
Problem binding selected value to DropDownListFor inside Editor Template
DropDownListFor - does not select “Selected” value
bakmak isterseniz ViewModel.If tam olarak aynı model ile kısmi bir görünüm kullanırsa çalışır.Ancak soru neden Partition görünümü (aynı model) yerine editorFor.Right yerine çalışır? Şimdi kısmi Görünüm kullanıyorum – kwiri
Evet teşekkürler ama Gerçekten aradığım şey değil. Gerçek MVC kaynağı (RTM3) ile bazı hata ayıklama yaptım ve gördüm onlar doğru bir şey değil.Onların varsayılan adı varsayılan değer elde etmek için kullanılan yolu beacause kırıyor.Bu yüzden kısmi görünümünde çalışır iken editorFor Şablonu doğru değeri seçmezsiniz.Bu yüzden benim downdownlistFor mvc kaynağı kullanarak basit bir test uygulaması yaptı ve açılan aralıkları kanıtladı.Strange Metin kutuları için özellik değerlerini elde etmenin farklı bir yönteminin kullanıldığını fark ettim. – kwiri
Fikir, seçim yapmak için fazladan kod eklemeye gerek kalmadan açılan listeyi normal şekilde kullanmak istiyorum.Bu gibi açılan listeyi kullanıyorum ve gayet iyi çalışıyordu, sadece editör şablonuna (açılır pencereye) atmak istediğim bu görüntüyü yukarıda anlattığım gibi bir görünümde – kwiri