【问题标题】:Html.Action passing value from model returns null从模型传递值的 Html.Action 返回 null
【发布时间】:2013-09-30 13:04:11
【问题描述】:

我正在尝试使用 FirstOrDefault 将值传递到 Html.Action 以返回值数组中的第一个条目。该值没有被拾取,我不断收到一个空异常。

family 变量从模型中提取正确的值作为键/值对。

我需要做什么才能将零索引值“2”作为 Action 中的参数传递?

代码和调试信息:

----编辑代码---

家庭索引操作

    public ActionResult Index(int familyId)
    {            
        var model = GetDisplay(familyId).OrderByDescending(i => i.dob);
        return PartialView(model);
    }

家庭视图模型

public partial class FamilyListViewModel
{
    public int Id { get; set; }
    public int familyId { get; set; }
    public string name { get; set; }
    ...
}

【问题讨论】:

  • 我们看不到您的代码。
  • 看看,为什么不直接传递family,因为它已经是Action() 的重载之一所期望的RouteValueDictionary?
  • @ChrisHardie 我已经添加了 ViewModel 和 Index 操作。

标签: c# asp.net-mvc html.actionlink


【解决方案1】:

这实际上是一个字典,你必须像这样检索你的键的值:

@Html.Action("Index", "Family", new { familyId = family["Id"] })

希望对你有帮助!

【讨论】:

  • 这仍然返回 null
  • family["Id"] 返回 null ?
  • 这仍然返回 null,是的。
  • Action 正在寻找 familyId,而不是 id
  • 好地方 Jim - 有时只见树木不见森林。上面的工作现在乔佛里,谢谢。
【解决方案2】:

尝试使用以下代码并按照您的操作预期发送familyId 参数

@Html.Action("Index", "Family", new{familyId= Model.familyId })

【讨论】:

  • 这仍然返回 null
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多