0

現在、部分ビューを呼び出すビューがあり、すべて正常に動作しています。

現在のビュー:

     @foreach (var item in Model)
        {
            @Html.Partial("_topposts", item)                
        }

モデル内のアイテムではなく、モデル自体を部分ビューに渡したいと思います。以下のようなもの

私はこのようなものが欲しい:

            @Html.Partial("_topposts", item)                

そして部分ビューの中で私はこれが欲しい

部分図:

     @foreach (var item in Model)
        {
            <P>Name: item.Name</p>                
        }

モデル クラス:

 public class PostModel
 {
    public int Id { get; set; }
    public string Post { get; set; }
    public string Name { get; set; }
    public string City { get; set; }
    public string Country { get; set; }
    public string Timeago { get; set; }
    public int CommentsCount { get; set; }

    }
   }
4

2 に答える 2

3

Now i want to pass the model itself

使うだけ

@Html.Partial("_topposts", Model)

それ以外の

@Html.Partial("_topposts", item)  

部分ビューのコードは適切です。

さらに@model、渡すオブジェクトのタイプで部分ビューの定義を変更します

于 2013-10-05T18:09:04.833 に答える
0

コントローラーでアクション メソッドを作成して、部分ビューを返すことができます。

public PartialViewResult YourPartialView(int parameter)
{
    // get your viewmodel using the parameter...
    var vm = new YourPartialViewModel(parameter);
    return PartialView(vm);
}

メイン ビューで:

@foreach (var item in Model)
{
     @{ Html.RenderAction("YourPartialView", new { parameter = item.id }); }
}

タイプが「YourPartialViewModel」の、厳密に型指定された部分ビューを必ず作成してください。

@model YourPartialViewModel

@foreach (var item in Model.Items)
{
    /// .......
}
于 2013-10-05T16:57:21.813 に答える