Rite现在我使用两个标签,一个用于国家,一个用于cities.IF我点击第一个标签,国家将被加载,第二个标签,城市将被加载。现在我想要实现的是当我点击任何国家在第一个标签的网格下,然后第二个标签只填充相应的国家城市,我将如何做,国家ID和城市c_id有主键和外键关系
<ul>
<li><a href="#tabs-1">Tab Header 1</a></li>
<li>@Html.ActionLink("Tab Header 2", "_gridsecondtab")</li>
</ul>
<div id="tabs-1">
@Html.Action("_gridfirsttab");
</div>
firstgrid
<div id="gridfirstContent">
@grid.GetHtml(tableStyle: "webGrid",
headerStyle: "header",
alternatingRowStyle: "alt",
selectedRowStyle: "select",
columns: grid.Columns(
grid.Column("id", format: (item) => item.GetSelectLink(item.id.ToString())),
grid.Column("countryname", "CountryName"),
grid.Column("continent", "Continent", style: "description"),
grid.Column("language", "Language")
))
@{
firstmvc4.Models.Country conuntry = new firstmvc4.Models.Country();
}
控制器
public ActionResult _gridfirsttab()
{
return PartialView(db.Countries.ToList());
}
public ActionResult _gridsecondtab()
{
return PartialView(db.Citynews.ToList());
}
答案 0 :(得分:1)
通常这样做的方法是使用AJAX回调根据用户的国家/地区选择来填充城市。你在标题中提到了jQuery,这就是我想你想要的东西。
让您的主页返回一个国家/地区网格,就像您已经完成的那样。要填充城市,通常会以JSON格式返回数据并编写一些JavaScript来呈现城市列表客户端。或者,您可以渲染HTML服务器端并直接显示它,但效率较低。
另请阅读http://api.jquery.com/jQuery.ajax/,了解jQuery如何用于从JavaScript进行AJAX调用。
希望有所帮助。