You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ABP.io MVC分部视图模型类型不匹配问题求助

问题分析与解决方法

这个错误的核心原因很直接:你调用分部视图时没有明确传入分部视图要求的_ScontisticheModel实例,ASP.NET MVC默认会把当前页面的EditModalModel模型传递给分部视图,导致模型类型不匹配。

具体解决步骤

  1. 在父页面模型中初始化分部视图的模型
    在EditModalModel中添加一个_ScontisticheModel类型的属性,并完成初始化(如果需要加载数据,在这里完成赋值):

    public class EditModalModel : AbpPageModel
    {
        // 声明分部视图对应的模型属性
        public _ScontisticheModel ScontisticheModel { get; set; }
    
        // 构造函数或OnGet/OnPost方法中初始化
        public EditModalModel(/* 你的依赖注入服务 */)
        {
            ScontisticheModel = new _ScontisticheModel();
            // 如果_ScontisticheModel需要加载数据,这里可以调用服务填充字段
            // 比如:ScontisticheModel.Discounts = await _discountRepository.GetListAsync(...);
        }
    }
    
  2. 调用分部视图时明确传入模型
    在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 17:01:34