.net 继承了具有不同viewmodel的局部视图
我有一个带有ViewModelBase的MVC2项目。 我有一个主页上的局部视图:.net 继承了具有不同viewmodel的局部视图,.net,inheritance,asp.net-mvc-2,viewmodel,asp.net-mvc-partialview,.net,Inheritance,Asp.net Mvc 2,Viewmodel,Asp.net Mvc Partialview,我有一个带有ViewModelBase的MVC2项目。 我有一个主页上的局部视图: <%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage<MyProject.Web.FrontOffice.Models.ViewModels.ViewModelBase>" %> <% Html.RenderPartial("~/Views/Shared/Controls/Header.ascx"); %&g
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage<MyProject.Web.FrontOffice.Models.ViewModels.ViewModelBase>" %>
<% Html.RenderPartial("~/Views/Shared/Controls/Header.ascx"); %>
此操作调用母版页中包含的视图(包含标题partialview等)
我有个打字错误,你能帮我一下吗?
如何在上一个局部视图中传递ViewModelBannerFront?
提前谢谢你帕特
不要运行renderpartial,尝试执行以下操作,它应该可以工作:
// assuming that your banner controller is called BannerFrontController
<%Html.RenderAction("Index", "BannerFront"); %>
等等等等。。希望这是有意义的
请参见此链接,以更近距离地了解renderpartial与renderaction:
谢谢您的回答,但我的横幅是一个简单的视图用户控件,它没有控制器。这是否意味着我必须为我的BannerFront.ascx创建一个?pat,不,但你们确实有一个关于乱石类型不匹配的问题。您需要有一个包含ViewModelBase和ViewModelBannerFront的复合viewmodel,以便根据上面所说的工作。因此继承不起作用。。。我应该把我的横幅放在每一页上。。。这就是我想要避免的。。。
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Curioos.Web.FrontOffice.Models.ViewModels.ViewModelBannerFront>" %>
public ActionResult Index(string username)
{
//other stuff
ViewModelBannerFront vmbf = new ViewModelBannerFront();
return View(vmbf);
}
// assuming that your banner controller is called BannerFrontController
<%Html.RenderAction("Index", "BannerFront"); %>
// no need to call entire path as views are in shared folder
<% Html.RenderPartial("Header", Model.ViewModelBase); %>
<% Html.RenderPartial("BannerFront", Model.ViewModelBannerFront); %>