HTML.RenderAction不使用我的routeValue参数

时间:2019-01-22 22:20:38

标签: c# asp.net-mvc razor

我正在调用RenderAction,但是我的PartialViewResult没有收到我发送的参数。

这是我的默认路线:

routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );

这是我的电话:

@{ Html.RenderAction("InvestmentGroupDropDown", "TPAs", new { level = Model.InvestmentGroup });}

这是我的动作:

 public PartialViewResult InvestmentGroupDropDown(Guid? selectedId)
        {
        }

我没问题,但我想从我的模型中发送的值没有问题。当我执行动作时不在那里。我可以在RenderActions参数中看到调试模式下的值。为什么它似乎忽略了我的参数?

我应该在PartialViewResult中得到一个Guid,而不是我得到null。

1 个答案:

答案 0 :(得分:0)

Tieson T.为我提供了答案!谢谢!

我没有意识到这里的对象名称很重要,但是确实如此。我将级别更改为我的操作'selectedId'的参数名称,瞧,我们有cookie!

@{ Html.RenderAction("InvestmentGroupDropDown", "TPAs", new { **level** = Model.InvestmentGroup });}
@{ Html.RenderAction("InvestmentGroupDropDown", "TPAs", new { **selectedId** = Model.InvestmentGroup });}