0

ViewData.modelasp.net mvc2 を 1 週間使用した後も、Viewdata の利点や、Viewdata を適切に利用する方法をまだ理解していません。Viewdata正しい使い方を教えてもらえますか?

またTModel、ビューデータに関連付けられているものは何ですか? どのように利用しTModelますか?スパークビューエンジンのビューデータの説明が語らTModelれていますが、プロジェクトでそれをどのように使用できるかの手がかりが得られませんでした。誰かが私を助けることができますか?

4

2 に答える 2

2

ViewData.Model は、コントローラー アクションで設定できるもので、View に渡され、次のようにアクセスできます。

<%=ViewData.Model.Description %>

また

<%=Model.Description %>

つまり、ビューに渡すクラスにプロパティ Description が含まれている場合:

public ActionResult GetInstance(string id)
{
    MyContent content = GetContentFromDatastore(id);
    return View(content);
}

この MyContent クラスで

MyContent
{
    string id;
    string description;
}

基本的に、クラスのインスタンス (プロパティが設定されたオブジェクトで、データベースから取得される可能性が高い) をビューに送り返し、そのデータをビューに表示します。ビューは ascx または aspx ファイルであり、最終的にはユーザー/訪問者。これは非常に単純な例ですが、正確に何を望んでいて、どれだけ知っているかは不明です。ただし、ASP.NET MVC の基礎を十分に理解するまでは、Spark (およびその他のビュー エンジン) については問題にしないようにしてください。

于 2010-04-11T19:59:13.830 に答える
1

正解です。ViewData.ModelName.PropertyName アイテムにアクセスすることで、ビューでモデルを使用できます。

また、コントローラで ViewData ディクショナリに特定のキーと値のペアを設定できます。

ViewData["Address1"] = "2222 Somewhere";

次に、ビューでアクセスします。

<%= Html.Encode(ViewData["Address1"]) %>

明らかに、キーと値のペアを使用してすべてのデータを処理するのは理想的ではありません。そのため、独自のクラスを作成してデータをカプセル化し、THOSE をビューに渡して操作を簡単にすることができます。

于 2010-04-13T03:45:13.347 に答える