1

我正在为我的项目使用 asp.net mvc3(C#)。我是新来的。我有一个表,其中包含名称、年龄、state_id 等数据。现在我希望当我使用 asp 控件 GRIDVIEW 时,它应该将我的表的数据绑定到 gridview 以及 2 列作为编辑和视图。我怎么能通过MVC做?我完全迷失了。

我还有另外两张桌子

1)Country_Master有列country_id,country_name

2)City_Master有列state_id,state_name

我希望当我在下拉列表中选择国家时,其对应的州列表应该显示在另一个下拉列表中。

4

2 回答 2

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 帮助器允许您简化表格输出:

@model IEnumerable<PersonViewModel>
@{
    var grid = new WebGrid();
}

@grid.GetHtml(
    grid.Columns(
        grid.Column("Name"),
        grid.Column("Age"),
        grid.Column("Country")
    )
)

我建议您阅读getting started tutorials关于 ASP.NET MVC 以更好地熟悉基本概念。

于 2013-01-29T14:40:59.200 回答
0

对于 gridview,您可以使用MvcContrib GridJQuery Grid for MVC

于 2013-01-29T14:48:23.240 回答