我正在为我的项目使用asp.net mvc3(C#)。我是新手。我有一个表,其中包含name,age,state_id等数据。现在我希望当我使用asp控件GRIDVIEW时,它应该将我的表的数据绑定到gridview以及2列作为编辑和视图。我怎么能通过MVC?我完全迷失了。
我再次有另外两张表
1)Country_Master
列country_id,country_name
2)City_Master
列state_id,state_name
。
我希望当我在下拉列表中选择国家/地区时,其相应的状态列表应显示在另一个下拉列表中。
答案 0 :(得分:1)
当我使用asp控件GRIDVIEW时,它应该将我的表的数据绑定到 gridview和2列作为编辑和视图。我该怎么办? MVC?
我认为你误解了ASP.NET MVC
中的一些基本概念。不再有任何服务器端控件,如GridView。在ASP.NET MVC中,不再有经典WebForms中使用的ViewState和PostBack模型。因此,您可能在WebForms中使用的服务器端控件都不能在ASP.NET MVC中工作。这是一种完全不同的Web开发方法。
在ASP.NET MVC中,您可以从定义一个用于保存数据的模型开始:
public class PersonViewModel
{
public string Name { get; set; }
public int Age { get; set; }
public string Country { get; set; }
}
然后是一个控制器,它将与您的DAL通信并填充模型:
public class PersonController: Controller
{
public ActionResult Index()
{
IEnumerable<PersonViewModel> model = ... talk to your DAL and populate the view model
return View(model);
}
}
最后你有一个相应的视图,你可以在其中显示这个模型的数据:
@model IEnumerable<PersonViewModel>
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Country</th>
</tr>
</thead>
<tfoot>
@foreach (var person in Model)
{
<tr>
<td>@person.Name</td>
<td>@person.Age</td>
<td>@person.Country</td>
</tr>
}
</tfoot>
</table>
在ASP.NET MVC视图中,您还可以使用一些内置帮助程序。例如,有WebGrid helper允许您简化表格输出:
@model IEnumerable<PersonViewModel>
@{
var grid = new WebGrid();
}
@grid.GetHtml(
grid.Columns(
grid.Column("Name"),
grid.Column("Age"),
grid.Column("Country")
)
)
我建议您浏览一下有关ASP.NET MVC的getting started tutorials
,以便更好地熟悉基本概念。
答案 1 :(得分:0)
对于gridview,您可以使用MvcContrib Grid或JQuery Grid for MVC