[英]Populating Dropdown using Reflection
我正在使用MVC4,我想做的是使用連接到我的搜索框的下拉列表來搜索選定的屬性。 我將如何停留在Text = prop.Name上。 我該如何使用它來訪問和訪問所有屬性。
我的控制器
public ActionResult SearchIndex(string searchString)
{
var selectListItems = new List<SelectListItem>();
var first = db.BloodStored.First();
foreach(var item in first.GetType().GetProperties())
{
selectListItems.Add(new SelectListItem(){ Text = item.Name, Value = selectListItems.Count.ToString()});
}
IEnumerable<SelectListItem> enumSelectList = selectListItems;
ViewBag.SearchFields = enumSelectList;
var bloodSearch = from m in db.BloodStored
select m;
if (!String.IsNullOrEmpty(searchString))
{
bloodSearch = bloodSearch.Where(s => string.Compare(GetValue(s, propertyName), searchString) == 0);
}
return View(bloodSearch);
}
現在,選擇列表正在工作,我只需要遍歷我的搜索字符串以及現在如何傳遞兩個參數。
我不太確定您要問什么。 如果要創建屬性為Text的對象列表,將其設置為對象的屬性名稱,則可以獲取BloodStored枚舉中的第一個對象,並創建匿名類型列表:
// Get one instance and then iterate all the properties
var selectListItems = new List<object>();
var first = db.BloodStore.First();
foreach(var item in first.GetType().GetProperties()){
selectListItems.Add(new (){ Text = item.Name});
}
ViewBag.SearchFields = selectListItems;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.