首页 文章

asp.net核心选择标记帮助器

提问于
浏览
0

我试图关注Select Tag Helper in ASP.NET Core MVC但我无法得到理想的结果 . 我能够从数据库中检索记录并使用正确的值/文本填充我的选择标签以获取所有可用选项,但是在提交表单时,没有返回任何值,我不确定我做错了什么 . 任何帮助将不胜感激 . 我的代码如下 . 谢谢 .

型号1:

public class Basis
    {    
        public int BasisId { get; set; }
        public string BasisName { get; set; }
    }

型号2:

public class Category
    {
        public string CategoryId { get; set; }
        public string CategoryName { get; set; }
    }

视图模型:

public class ViewModel
    {
        public List<Basis> Basis { get; set; }

        public List<Category> Category { get; set; }
 {

视图:

<select id="basisSelect" multiple="multiple" asp-for="Basis" asp-items="@(new SelectList(Model.Basis, "BasisId", "BasisName"))"></select>
<select id="categorySelect" asp-for="Category" asp-items="@(new SelectList(Model.Category, "CategoryId", "CategoryName"))"></select>

控制器:

[HttpPost]
public IActionResult SubmitSearch(SearchManager criteriaManager)
{}

当我做出选择时,我的计数为零 . 如图所示
image

再次感谢您的帮助 .

1 回答

  • 0

    能够从感兴趣的任何人那里获得其他来源的答案或遇到类似的问题 .

    select只会回发所选的值,而不是列表,所以你的回发模型应该是:

    public class PostBackSearchManager
    {
            public string Basis { get; set; }
            public string Category { get; set; }
    }
    
    [HttpPost]
    public IActionResult SubmitSearch(PostBackSearchManager criteriaManager)
    {
    }
    
    // alternate action method
    [HttpPost]
    public IActionResult SubmitSearch(string basis, string category)
    {
    }
    

相关问题