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メソッド、ロジックなどはありません。これらはすべてコントローラーで処理する必要があります。(MVCの適切な使用法については、odetocode.comにあるK. Scott Allenのブログの記事/エントリを読むことを強くお勧めします)。とはいえ、なぜモデルにメソッドがあるのか​​を尋ねる必要があります。

しかし、あなたの質問にもっと:MVCページは、実際には、Webフォームとその中のコントロールを使用するべきではありません。そのためにこの質問にリンクします:フォームrunatサーバーを追加せずにMvcでgridViewを使用するにはどうすればよいですか?

そこに受け入れられた答えは、これを処理する1つの方法をリストし、別のオプションは、ここでまともなチュートリアルを見つけることができる表示テンプレートを使用することです:http: //haacked.com/archive/2010/05/05/asp-net -mvc-tabular-display-template.aspx

于 2013-03-19T19:39:00.270 に答える