ViewModel中的ASP.NET MVC SelectList

卡尔加

我正在使用ASP.NET MVC 5(但这很可能也适用于以前的版本)。提出此问题的最佳方法是向您显示代码:

这是视图模型:

public class PersonCreateViewModel
{
    public SelectList cities {get; set;}
    public String Name { get; set; }
    public String Address { get; set; }

}

这是控制器的http Post方法:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(PersonCreateViewModel viewmodel)
{

    if (ModelState.IsValid)
    {
        //Add to database here and return

    }

    //return back to view if invalid db save
    return View(person);
}

这是视图:

<div class="form-group">
        @Html.LabelFor(model => model.person.name, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
        @Html.EditorFor(model => model.person.name)
        @Html.ValidationMessageFor(model => model.person.name)
    </div>
</div>

<div class="form-group">
        @Html.LabelFor(model => model.person.address, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
        @Html.EditorFor(model => model.person.address)
        @Html.ValidationMessageFor(model => model.person.address)
    </div>
</div>
<div class="form-group">
    @Html.LabelFor(model => model.person.CityID, "CityID", new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.DropDownList("cities")
        @Html.ValidationMessageFor(model => model.person.CityID)
    </div>
</div>

当用户单击“提交”时,浏览器中将显示以下错误消息:“没有为此对象定义无参数的构造函数。”

我认为这与我的ViewModel中有一个SelectList有关。我认为,当视图在表单提交时将模型传递回控制器时,它将调用SelectList的构造函数,但是SelectList没有无参数的构造函数。我不确定如何进行。任何帮助表示赞赏!

马克·奥尔森

我一直使用IEnumerable运气更好

public class PersonCreateViewModel
{
    public IEnumerable<SelectListItem> cities {get; set;}
    public int CityId { get; set; }
    public String Name { get; set; }
    public String Address { get; set; }
}

此外,您将需要在视图模型上具有一个属性来捕获所选值,例如CityId。

然后,您可以使用:

Html.DropDownListFor(m => m.CityId, Model.cities)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ASP.NET MVC中没有SelectList的ViewModel绑定

来自分类Dev

在ASP.NET MVC 5.2中具有OptGroup的SelectList

来自分类Dev

无法在ASP.NET MVC中初始化SelectList

来自分类Dev

用枚举填充ASP.NET MVC中的SelectList

来自分类Dev

用枚举填充ASP.NET MVC中的SelectList

来自分类Dev

asp .net mvc 5 dropdownlist SelectList没有验证属性

来自分类Dev

ASP.NET MVC 选择 SelectList 的选项值

来自分类Dev

如何在SelectList中合并两个字段编辑ASP.NET MVC

来自分类Dev

2 ASP.NET MVC中的ViewModel

来自分类Dev

MVC-在ViewModel中设置SelectList的选定值

来自分类Dev

ASP.NET MVC。如何在部分内插入SelectList?

来自分类Dev

视图中的 ASP.Net Core 2.1 MVC SelectList 未填充

来自分类Dev

asp.net mvc填充FormCollection中的viewModel

来自分类Dev

ASP.NET MVC中的最佳实践ViewModel验证

来自分类Dev

ASP.NET MVC中的问题ViewModel和LINQ查询

来自分类Dev

Asp.net MVC从FormCollection填充viewModel

来自分类Dev

ASP.NET MVC 5 ViewModel绑定

来自分类Dev

Distinct() Select() 改变 SelectList .net Core 中的类型

来自分类Dev

更改MVC SelectList选择的值

来自分类Dev

Mvc,Selectlist 选定对象值

来自分类Dev

如何在ASP.Net MVC中处理Model和ViewModel验证

来自分类Dev

在ASP.NET MVC中的ViewModel类上使用Bind属性

来自分类Dev

ASP.NET Core / MVC 6 ViewModel中的依赖项注入(DI)

来自分类Dev

单独的ViewModel,用于ASP.NET MVC中的读取,创建和更新操作

来自分类Dev

元数据类与asp.net MVC中的ViewModel是否相同?

来自分类Dev

在ASP.NET MVC中使用ViewModel中的DataAnnotations进行日期验证

来自分类Dev

从ASP.Net MVC5中的两个EF模型创建ViewModel

来自分类Dev

ViewModel在asp.net mvc 5中发回空集合

来自分类Dev

将Viewmodel对象发送到ASP .Net MVC中的剃刀视图

Related 相关文章

  1. 1

    在ASP.NET MVC中没有SelectList的ViewModel绑定

  2. 2

    在ASP.NET MVC 5.2中具有OptGroup的SelectList

  3. 3

    无法在ASP.NET MVC中初始化SelectList

  4. 4

    用枚举填充ASP.NET MVC中的SelectList

  5. 5

    用枚举填充ASP.NET MVC中的SelectList

  6. 6

    asp .net mvc 5 dropdownlist SelectList没有验证属性

  7. 7

    ASP.NET MVC 选择 SelectList 的选项值

  8. 8

    如何在SelectList中合并两个字段编辑ASP.NET MVC

  9. 9

    2 ASP.NET MVC中的ViewModel

  10. 10

    MVC-在ViewModel中设置SelectList的选定值

  11. 11

    ASP.NET MVC。如何在部分内插入SelectList?

  12. 12

    视图中的 ASP.Net Core 2.1 MVC SelectList 未填充

  13. 13

    asp.net mvc填充FormCollection中的viewModel

  14. 14

    ASP.NET MVC中的最佳实践ViewModel验证

  15. 15

    ASP.NET MVC中的问题ViewModel和LINQ查询

  16. 16

    Asp.net MVC从FormCollection填充viewModel

  17. 17

    ASP.NET MVC 5 ViewModel绑定

  18. 18

    Distinct() Select() 改变 SelectList .net Core 中的类型

  19. 19

    更改MVC SelectList选择的值

  20. 20

    Mvc,Selectlist 选定对象值

  21. 21

    如何在ASP.Net MVC中处理Model和ViewModel验证

  22. 22

    在ASP.NET MVC中的ViewModel类上使用Bind属性

  23. 23

    ASP.NET Core / MVC 6 ViewModel中的依赖项注入(DI)

  24. 24

    单独的ViewModel,用于ASP.NET MVC中的读取,创建和更新操作

  25. 25

    元数据类与asp.net MVC中的ViewModel是否相同?

  26. 26

    在ASP.NET MVC中使用ViewModel中的DataAnnotations进行日期验证

  27. 27

    从ASP.Net MVC5中的两个EF模型创建ViewModel

  28. 28

    ViewModel在asp.net mvc 5中发回空集合

  29. 29

    将Viewmodel对象发送到ASP .Net MVC中的剃刀视图

热门标签

归档