私はViewModelBaseを持つMVC2プロジェクトを持っています。私が思った異なるビューモデルを継承した部分ビューが継承されています
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Curioos.Web.FrontOffice.Models.ViewModels.ViewModelBannerFront>" %>
:この最後のPartialViewはViewModelBase継承ViewModelBannerFrontを必要と
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyProject.Web.FrontOffice.Models.ViewModels.ViewModelBase>" %>
<% Html.RenderPartial("~/Views/Shared/Controls/BannerFront.ascx"); %>
:このPartialViewもPartialViewを呼び出す
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage<MyProject.Web.FrontOffice.Models.ViewModels.ViewModelBase>" %>
<% Html.RenderPartial("~/Views/Shared/Controls/Header.ascx"); %>
: 私は、マスターページによって呼び出さPartialViewを持っています継承と、問題はありません、私はコントローラでViewModelBannerFrontを設定します:
public ActionResult Index(string username)
{
//other stuff
ViewModelBannerFront vmbf = new ViewModelBannerFront();
return View(vmbf);
}
このアクションは、(partialviewなどのヘッダーを含む)masterpageに含まれるビューを呼び出します。
タイプエラーがあります。どうかお手伝いできますか? 最後のPartialViewでViewModelBannerFrontを渡すにはどうすればよいですか? は
おかげで、私のバナーは、単純なビューのユーザーコントロールで、それは何のコントローラを持っていません。 BannerFront.ascx用に作成する必要があるということですか? – PatachouNewG
pat、いいえ、しかし、あなたは突然タイプのミスマッチが発生しています。上記の内容に基づいて動作するために、ViewModelBaseとViewModelBannerFrontの両方を含む複合ビューモデルが必要です。 –
継承は機能しません...すべてのページにBannerFrontを置く必要があります...私が避けたかったのは... – PatachouNewG