[英]Cannot implicitly convert type 'System.Web.Mvc.RedirectToRouteResult' to 'System.Web.Mvc.JsonResult'
[英]Cannot implicitly convert type 'string' to 'system.web.mvc.selectlistgroup'
只是這樣,我不必寫另一個示例來顯示我想要的內容。 請參考這個例子 。
使用數據庫中表格的示例,我想使用Category
作為嵌套下拉列表中的字幕 (因為缺少更好的單詞)。
所以這是我到目前為止所擁有的:
List<SelectListItem> lstAssignments = new List<SelectListItem>();
using(var context = new databaseconnectionstring()/*fake connection string name*/)
{
List<table1> lstActivity = context.table1.Where(x => x.deleted == false).ToList();
foreach(table1 activity in lstActivity)
{
SelectListItem item = new SelectListItem() { Text = activity.text, Value = activity.ID.ToString(), Group = activity.subcategory };
}
我在Group = activity.subcategory
下收到錯誤消息。
Cannot implicitly convert type 'string' to 'system.web.mvc.selectlistgroup'
專門創建了subcategory
屬性以區分下拉列表(與引用鏈接中的Category
相同)。
如何將subcategory
轉換為所要的?
正如錯誤所提到的,您試圖將String值提供給SelectListGroup屬性。
您應該進行如下初始化:
foreach(table1 activity in lstActivity)
{
SelectListItem item = new SelectListItem()
{
Text = activity.text,
Value = activity.ID.ToString(),
Group = new SelectListGroup() { Name = activity.subcategory }
};
}
[編輯]
一個改進將在foreach之前聲明SelectListGroup
,並將它們相應地分配給項目。 這將創建更少的實例。
該錯誤確切告訴您您需要做什么。 將Group
屬性鍵入為SelectListGroup
然后將其傳遞給字符串,因此出現錯誤。 因此,展開它,您只需要使用您的字符串創建SelectListGroup
的實例。 SelectListGroup
本身具有Name
屬性,因此您應該能夠執行以下操作:
foreach(table1 activity in lstActivity)
{
var group = new SelectListGroup { Name = activity.subcategory };
SelectListItem item = new SelectListItem() { Text = activity.text, Value = activity.ID.ToString(), Group = group };
}
這是因為您嘗試設置的實際Group
屬性期望的是SelectListGroup
對象,而不是activity.subcategory
是字符串的對象。
您實際上需要創建一個Group
實例,並將其Name
屬性設置為循環中的類別:
SelectListItem item = new SelectListItem() {
Text = activity.text,
Value = activity.ID.ToString(),
Group = new SelectListGroup(){ Name = activity.subcategory }};
抱歉,這個問題。 我只是想通了。
List<SelectListItem> lstAssignments = new List<SelectListItem>();
using(var context = new fakeconnectionstring())
{
List<table1> lstActivity = context.table1.Where(x => x.deleted == false).ToList();
foreach(table1 activity in lstActivity)
{
SelectListGroup lstGroupCategories = new SelectListGroup() { Name = activity.subcategory };
SelectListItem item = new SelectListItem() { Text = activity.text, Value = activity.ID.ToString(), Group = lstGroupCategories };
}
}
public List<SelectListItem> CarregarDropDownList(Centro modeloSelected = null, string selecttext = null)
{
var centro = GetAtivos().GroupBy(x => x.Centro1).Select(group => group.First()).OrderBy(x => x.Centro1).ToList();
List<SelectListItem> lista = centro.Select(a => new SelectListItem() { Text = $"{a.Centro1}", Value = a.id_Centro.ToString(), Selected = (modeloSelected != null && modeloSelected.id_Centro == a.id_Centro) }).OrderBy(x => x.Text).ToList();
//if (modeloSelected == null)
lista.Insert(0, new SelectListItem() { Value = "", Text = selecttext ?? "-Todos-" });
return lista;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.