C# 在视图中使用DropDownListFor时出现ViewBag错误

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

我正在尝试使用ViewBag显示DropDownList,该ViewBag将数据从控制器传递到查看页面,但出现以下错误:

最佳重载方法匹配“System.Web.Mvc.SelectList.SelectList(System.Collections.IEnumerable,string,string)”具有一些无效参数

这是我的ViewModel:

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())