0

我正在尝试自学 MVC,但我遇到了代码背后的问题。

在我当前的问题中,我正在尝试将数据绑定到网格视图。现在,我已经能够通过在我的 aspx 中创建 page_load 方法来做到这一点。

<script language="CS" runat="server"> 
void Page_Load(object sender, System.EventArgs e)  
{
  grdMyGrid.DataSource = Model.getAllRecords();
  grdMyGrid.DataBind();
} 
</script>

这可行,但是,在我看来,这是不对的。去年我一直在强迫自己确保所有绑定都发生在后面的代码中,并且我发现的所有 MVC 示例都显示在 aspx 中进行数据绑定!(尽管它们都仅限于文本框)。那么这样做的正确方法是什么?

谢谢

4

1 回答 1

2

这里有几个项目。在通过 MVC 的理想世界中,您的模型应该只是数据的持有者。IE 没有方法、逻辑等。这些都应该由您的控制器处理。(我强烈建议阅读 odetocode.com 上 K. Scott Allen 的博客中的文章/条目,以了解如何正确使用 MVC)。也就是说,我必须询问为什么模型有方法。

更多关于您的问题:MVC 页面真的,真的不应该使用 Web 表单和其中的控件。我将为此链接到这个问题:How to use gridView in Mvc without adding form runat server?

那里接受的答案列出了一种处理此问题的方法,另一种选择是使用显示模板,您可以在这里找到一个不错的教程:http: //haacked.com/archive/2010/05/05/asp-net -mvc-tabular-display-template.aspx

于 2013-03-19T19:39:00.270 回答