ABP.io MVC分部视图模型类型不匹配问题求助
问题分析与解决方法
这个错误的核心原因很直接:你调用分部视图时没有明确传入分部视图要求的_ScontisticheModel实例,ASP.NET MVC默认会把当前页面的EditModalModel模型传递给分部视图,导致模型类型不匹配。
具体解决步骤
在父页面模型中初始化分部视图的模型
在EditModalModel中添加一个_ScontisticheModel类型的属性,并完成初始化(如果需要加载数据,在这里完成赋值):public class EditModalModel : AbpPageModel { // 声明分部视图对应的模型属性 public _ScontisticheModel ScontisticheModel { get; set; } // 构造函数或OnGet/OnPost方法中初始化 public EditModalModel(/* 你的依赖注入服务 */) { ScontisticheModel = new _ScontisticheModel(); // 如果_ScontisticheModel需要加载数据,这里可以调用服务填充字段 // 比如:ScontisticheModel.Discounts = await _discountRepository.GetListAsync(...); } }调用分部视图时明确传入模型
在EditModal.cshtml的abp-tabs标签页中,调用RenderPartialAsync时指定传入刚才初始化的模型:<abp-tab title="Scontistiche"> @await Html.RenderPartialAsync("_Scontistiche", Model.ScontisticheModel) </abp-tab>
额外注意
如果_ScontisticheModel的构造函数需要依赖注入服务(比如仓储、应用服务),不要直接new,应该在EditModalModel的构造函数中注入对应的服务,再用服务创建_ScontisticheModel实例:
public EditModalModel(IDiscountRepository discountRepository) { ScontisticheModel = new _ScontisticheModel(discountRepository); }
内容的提问来源于stack exchange,提问作者advapi
相关产品推荐
相关产品推荐

