2009-07-05 18 views
0

ASP.NET MVCフレームワークでモデルの定数をどのように保つのかと思います。ビューを通してモデルに何かを追加するときのように。あなたはコントローラーのアクションに戻りますが、モデルをどこで保持していますか?それはコントローラのプライベートですか?それが大きくなると、モデルから単一の項目を追加/削除するために多くのデータを渡しているため、ビューからコントローラに前後に渡されます。MVCでモデルを更新する方法

これを示す小さな例もありますか?

ありがとうございました

+0

参照しているフレームワークを指定する必要があります。 Ruby on Rails、ASP.Net MVC、Grails、Zendなど多くのMVCベースのフレームワークがあります。 –

答えて

0

何を参照していますか? Ruby on RailsのORMなどのオブジェクトにロードされたデータベーステーブルを意味していますか?通常、 'モデル'は、データベースのオブジェクトにデータをロードする一連のインタフェースまたはドメインオブジェクトです。

具体的にしてください。多くのMVCフレームワークとさまざまな種類の「モデル」があります

+0

私はasp.net MVCについて話しています。モデルがクラスであるか、またはデータベースの素材に関連する可能性があります。コントローラはレンダリングされるビューにモデルを渡すことができますが、私の質問はモデルの変更をどのように追跡しているかです。 –

0

NerdDinner(「Professional ASP.NET MVC 1.0」のような)のようなASP.NET MVCの教訓をチェックするべきだと思います。 Scott Guthrieがhtml version of the tutorialを自分のサイトに掲載しました。チュートリアルで構築するサイトは非常に簡単で、ASP.NET MVCの素晴らしいイントロです(私の意見では)。

good tutorials on the ASP.NET siteもあります。

これらが.NET MVCに役立つことを願っています。使用するには素晴らしいフレームワークです。

+0

うわー、なぜdownvote?質問は実際の答えにはあまりにも一般的でした。 – mkchandler

0

モデルをページに渡すことができます。コントローラ内でUpdateModel(モデル名)を使用できます。

モデル内の各メンバーは、ゲッターとセッターを持つプロパティでなければなりません。

state以外の値を維持する必要がある場合は、ページ上で非表示フィールドにデータを保持できます。

UpdateModelを使用して問題が発生した場合は、コントローラで次のように使用できます。

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult MyAction(int? id, FormCollection collection) 
{ 
    string commentText = collection["myFieldName"]; 
} 

これは通常、モデルから値を取得します。

これはあなたが求めていたものです。

0

モデルをデータ転送オブジェクトと考えてください。リストでは、ページのみを表示または編集し、単一のオブジェクトまたはオブジェクトのリストとしてデータレイヤーから取り出します。コントローラーはそれをビューに渡し、表示されます。

挿入の場合、新しいデータ転送オブジェクトがポストバック時にインスタンス化され、ポストされた値で更新されます。その後、永続性のためにデータレイヤーに送り返されます。

編集の場合は、HTTP GETリクエストのデータレイヤーから取得され、HTMLフォームの事前入力に使用されます。その後、ポストバック時に、データ転送オブジェクトはポストされた値で更新され、永続性のためにデータレイヤーに返送されます。

確実にチェックアウトするNerdDinnerまたはStephen Waltherのサンプル。

関連する問題