C# 在视图中使用DropDownListFor时出现ViewBag错误
我正在尝试使用ViewBag显示DropDownList,该ViewBag将数据从控制器传递到查看页面,但出现以下错误: 最佳重载方法匹配“System.Web.Mvc.SelectList.SelectList(System.Collections.IEnumerable,string,string)”具有一些无效参数 这是我的ViewModel:C# 在视图中使用DropDownListFor时出现ViewBag错误,c#,asp.net-mvc,html.dropdownlistfor,viewbag,dropdownlistfor,C#,Asp.net Mvc,Html.dropdownlistfor,Viewbag,Dropdownlistfor,我正在尝试使用ViewBag显示DropDownList,该ViewBag将数据从控制器传递到查看页面,但出现以下错误: 最佳重载方法匹配“System.Web.Mvc.SelectList.SelectList(System.Collections.IEnumerable,string,string)”具有一些无效参数 这是我的ViewModel: public class CadastroCategoriaViewModel : ViewModelBase { #region Con
public class CadastroCategoriaViewModel : ViewModelBase
{
#region Construtores
public CadastroCategoriaViewModel()
{
}
#endregion
#region Propriedades
/// <summary>
/// Perfil de usuário em cadastro ou edição.
/// </summary>
public CategoriaFinanceira CategoriaFinanceira { get; set; }
public bool eFilho { get; set; }
}
有人能给我一个线索或提示吗?将selectlist中的数据从控制器传递到视图。如下所示
内控器
public ActionResult CadastrarFilho()
{
.
.
ViewBag.CategoriasPai = new SelectList(_servicoAppGerenciadorCategoriaFinanceira.ListarPorEmpresa(TokenAcesso, empresa.EmpresaID), "CategoriaFinanceiraID", "Nome");
return PartialView(viewModel);
}
以及
@Html.DropDownListFor(model => model.CategoriaFinanceira.PaiCategoriaFinanceiraID, ViewBag.CategoriasPai as SelectList())
希望这有助于将错误消息翻译成英语您的
listarporepresa()
method return是什么?返回categoriaafinanceira.list的列表。在这种情况下,99 results当我这样做时,我在我的控制器上收到相同的错误:“最佳重载方法匹配”System.Web.Mvc.SelectList.SelectList(System.Collections.IEnumerable,string,string)“”有一些无效的参数。在我看来,“应该是方法名”。但您能概述一下您所说的内容吗?在“ViewBag.CategoriasPai”调试您的控制器,并查看出现错误的值
public ActionResult CadastrarFilho()
{
Empresa empresa = new Empresa();
if (Session["Empresa"] != null)
{
empresa = ((Empresa)Session["Empresa"]);
}
var viewModel = new CadastroCategoriaViewModel();
viewModel.eFilho = true;
viewModel.CategoriaFinanceira = new CategoriaFinanceira();
ViewBag.CategoriasPai = _servicoAppGerenciadorCategoriaFinanceira.ListarPorEmpresa(TokenAcesso, empresa.EmpresaID);
return PartialView(viewModel);
}
public ActionResult CadastrarFilho()
{
.
.
ViewBag.CategoriasPai = new SelectList(_servicoAppGerenciadorCategoriaFinanceira.ListarPorEmpresa(TokenAcesso, empresa.EmpresaID), "CategoriaFinanceiraID", "Nome");
return PartialView(viewModel);
}
@Html.DropDownListFor(model => model.CategoriaFinanceira.PaiCategoriaFinanceiraID, ViewBag.CategoriasPai as SelectList())