私はそれを飛び越えるのが難しいという問題があります。私はモデルを使用していますIndex.cshtmlメインページRazor MVCを使用して、通常のモデルと同じビューで再生可能な数値モデル
<div class="wpisDodatki">
@foreach (var item in Model)
{
<div> @Html.DisplayFor(modelItem => item.Dzien)</div>
}
<p>test<br />test<br />test</p>
</div>
::のように見えるモデルを使用しています
@model IEnumerable<DluzynaSzkola.Models.Aktualnosci>
反復:
を私はIEnumerableをモデルを使用しています私の_Layout.cshtmlで
@model DluzynaSzkola.Models.User
_Layoutをロードすると、2つのモデルを使用しようとしていますが、禁止されています。
私はすでに2つの同様の方法で修正しようとしていました。
第一試み:含むラップモデルクラスを作成 :
namespace DluzynaSzkola.Models
{
public class Wrap
{
public IEnumerable<Aktualnosci> Wpisy { get; set; }
public DluzynaSzkola.Models.User UserData { get; set; }
}
}
コントローラ内のアクションが追加さ:
public ActionResult Aktualnosci()
{
var Wrap = new Wrap();
Wrap.Wpisy = db.Indeks;
return View(Wrap);
}
}
は、部分的なファイルを作成:_Dodatki.cshtmlを含む:
@model IEnumerable<DluzynaSzkola.Models.Aktualnosci>
<div class="wpisDodatki">
@foreach (var item in Model)
{
<div> @Html.DisplayFor(modelItem => item.Dzien)</div>
}
<p>test<br />test<br />test</p>
</div>
呼び出しを_Layout.cshtmlの部分:
_layoutで<div>@Html.Partial("_Dodatki", Model.Wpisy)
使用モデル:
辞書に渡されたモデルアイテムのタイプが「System.Collections.Generic.List`1 [です:
@model DluzynaSzkola.Models.Wrap
は、それは私に例外を与えますDluzynaSzkola.Models.Aktualnosci] 'が、この辞書には' DluzynaSzkola.Models.Wrap 'というモデル項目が必要です。
第二試み:コントローラで 作成アクション:
public PartialViewResult Load()
{
return PartialView("~/Views/Aktualnosci/_Dodatki.cshtml");
}
}
有する部分ファイル_Dodatki。CSHTML:
@model IEnumerable<DluzynaSzkola.Models.Aktualnosci>
<div class="wpisDodatki">
@foreach (var item in Model)
{
<div> @Html.DisplayFor(modelItem => item.Dzien)</div>
}
<p>test<br />test<br />test</p>
</div>
とレイアウトファイルで呼び出すには:
Row5: @foreach (var item in Model)
第三の試行:一部のファイルに
System.NullReferenceException
:
@Html.Partial("~/Views/Aktualnosci/_Dodatki.cshtml")
それは私に例外を与える
部分的呼び出し210:
@Html.Partial("~/Views/Aktualnosci/_Dodatki.cshtml", new List<DluzynaSzkola.Models.Aktualnosci>()
は私にレンダリングされたビューには反復を与えませんでした。
部分図は前の例と同様です。
ノーマルモデルでIEnumerableモデルを処理する方法はもうありません。
同じ名前の別の部分文字列がないかどうかを確認してください。エラーは、部分文字列がラップモデルクラスを受け取っているはずです。または、別の部分的に存在するか、部分的な部分を読み込むのではなく、他のコンポーネントを読み込むことができます。 –
負の値は、部分的に1つだけです。 –
あなたはモデルをビューに渡さないので(したがって 'null')モデルを渡します。 '@ Html.Action()'を使用して、コレクションを生成したサーバメソッドを呼び出し、部分ビューを返します。レイアウトを使用する他のすべてのビューがそこから派生するベースビューモデルでない限り、レイアウトは '@ model'宣言を含むべきではありません。 –