如何重用部分视图 - 带有部分视图和复杂模型核心 3.1 的 Razor 页面

时间:2021-05-13 23:38:06

标签: asp.net-core partial-views asp.net-core-3.1

我有一个相当复杂(可能不正确)的 Razor 页面,其中包含一组相当复杂的过滤器。过滤器是使用 Select2、开始和结束日期以及文本搜索的多项选择。这些的任何组合都可用于过滤分页列表中的数据。如果我传递页面模型并假设分部类将接受相同的页面模型,则它工作正常。如果我想与其他页面共享此部分视图(包含所有过滤器控件),就会出现问题。我将如何通过模型?这里有更多细节..

AllWork.chstml.cs - 包含许多用于过滤器、页面大小等的公共字符串和列表。它还保留诸如所选项目(用于回发和分页)以及分页列表之类的项目,它真的很漂亮简单明了,我只包含了项目的片段,而不是获取或过滤器,因为这些不是问题。示例...

 public class AllWorkModel : PageModel
    {
        public string NameSort { get; set; }
        public string DateSort { get; set; }
        [BindProperty(SupportsGet = true)]
        public string StatusSort { get; set; }
        public string CurrentFilter { get; set; }
        public List<string> CurrentFilter1 { get; set; }
        [BindProperty]
        public List<string> ToolNumSelected { get; set; }
        public IList<SelectListItem> _ToolNum { get; set; }
    }

在 AllWork.cshtml 文件中,我使用 <partial name="_Filters" /> 调用部分我尝试传入特定模型,但这对情况没有帮助。 AllWork.cshtml @model 指令是这个 @model test_CORE.Pages.AllWorkModel

在部分页面 _Filters.cshtml 上,我目前正在使用 @model test_CORE.Pages.AllWorkModel,它运行良好。

我的问题是如何调整这个部分页面 _Filters.cshtml 可以在其他页面上使用?我需要一种集中式模型类型,但如何使用?初始页面加载数据来自 SQL 服务器。

0 个答案:

没有答案
相关问题