代码之家  ›  专栏  ›  技术社区  ›  Rob Koch

使用ASP.NET MVC 2显示连接的记录

  •  1
  • Rob Koch  · 技术社区  · 14 年前

    我有一个由另一个表tblStates连接的表tblContacts,数据库是标准化的,因此联系人表(name、phone、address、city等)有一个StateId,它引用由tblStates.Id和tblStates.name组成的tblStates查找表。

    此时正在使用Linq To Sql。。。我的索引页当前显示:

    public ActionResult Index() { return View(_repository.ListAll()); }
    

    虽然我们有联系人数据,但不确定如何在视图中显示tblState.Name?

    <%: item.StateID %>  <-- how shall I change this into tblState.Name?
    

    在编辑窗体中,我可以通过执行以下操作来显示tblStates.Name:

    <%: Html.DropDownList("States", (IEnumerable<SelectListItem>)ViewData["StateID"])%>
    

    我该如何做上面的事情,并显示标签的'正确'的方式?我知道有一些简单的东西,还有一个我找不到的关键字/示例。我找到的所有代码示例都告诉我如何查找子记录并循环遍历它。看看SingleOrDefault(..)、FirstOrDefault(..),它似乎不对。

    谢谢。

    2 回复  |  直到 14 年前
        1
  •  0
  •   Fabian    14 年前

    如果在L2S中正确设置了tblContacts和tblStates之间的关联,则应该能够执行以下操作:

    public ActionResult Index() { return View( _repository.tblContacts ); }
    

    然后

    <%: item.tblState.Name %>
    
        2
  •  0
  •   Rob Koch    14 年前

    很抱歉耽搁了,我和其他项目偏离了方向。

    不管怎样,上面提出的解决方案没有奏效。使用EF4并使用分部类扩展tblContacts以返回状态名称。。。如果你想了解更多信息,请告诉我。