我想教自己的MVC,并且我遇到了背后的代码问题。在MVC中绑定Gridview的数据绑定
在我当前的问题中,我试图将数据绑定到gridview。现在,我已经能够通过在我的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中做了一个数据绑定! (尽管它们都仅限于文本框)。那么做这件事的正确方法是什么?
谢谢
该模型没有方法,我将该page_load添加到aspx中。 – Limey 2013-03-20 13:52:58
我更多地指的是Model.getAllRecords()。如果你真的想进入MVC,你可能想看看使用.cshtml视图而不是.aspx页面。如果你设置一个真正的Model(作为ViewModel类),View(作为.cshtml)和Controller(作为控制器类),保持功能独立变得更加容易。它也很适合使用异步AJAX调用。如果你有VS 2010或者12,并且想看看我的意思是用Razor视图开始一个新的MVC 3 Web项目,并看看它的设置方式。我推荐剃刀,因为它简化了你的观点中的所有事情。 – Kerfuffle 2013-03-20 16:01:07
无法再编辑我的最后一条评论,但我应该将Model(作为ViewModel类)更正为Model(作为单独的类)。我很习惯我的做事方式(我有一个基本的VM类,它有我自己反复使用的属性),我只是把它放在里面。我觉得有必要澄清一下,以免让任何人读到困惑。 – Kerfuffle 2013-03-20 16:11:28