如何根据ASP.NET MVC和EF中第一个选项卡下的数据在第二个选项卡上显示相关数据

时间:2015-04-25 15:49:14

标签: c# asp.net-mvc linq entity-framework

我正在使用MVC应用程序和实体框架,我有两个表国家和城市有PK_FK关系。在我的UI我使用两个选项卡,第一个选项卡用于国家,第二个用于城市,两者都显示在网格中现在我需要实现的是,如果我在第一个标签中单击一个国家/地区,相应的国家/地区城市应该显示在第二个标签中而不是完整的国家/地区城市。如何执行以下操作是我已经完成的现有代码

控制器

public ActionResult Index()
{        
    return View();
}


public ActionResult _gridfirsttab()
{
    return PartialView(db.Countries.ToList());
}


public ActionResult _gridsecondtab()
{
    return PartialView(db.Citynews.ToList());
}

索引视图

<ul>
    <li><a href="#tabs-1">Tab Header 1</a></li>
    <li>@Html.ActionLink("Tab Header 2", "_gridsecondtab")</li>
    <li>>@Html.ActionLink("Tab Header 3", "_gridthirdtab")</li>
</ul>

<div id="tabs-1">
    @Html.Action("_gridfirsttab")
</div>

更新

我确实喜欢如下所示,但它重复了webgrid,可能HTTPGET操作也会触发如何防止它

第一个局部视图网格

@if (grid.HasSelection)
{
    conuntry = (firstmvc4.Models.Country)grid.Rows[grid.SelectedIndex].Value;

    @Html.Action("_gridsecondtab", new {id =conuntry.id })

}

并再创建了第一个网格的HTTPPOST操作

[HttpPost]
    public ActionResult _gridsecondtab(int id)
    {
        // Find the customer by name
        var countries = db.Countries.FirstOrDefault(c => c.id == id);

        // Get the customers products
        var cities = countries.Citynews;

        // Send products to the View to be rendered
        return PartialView(cities);
    }

但它没有正常工作而是重复第一个网格本身

0 个答案:

没有答案