【问题标题】:MVC DropDownList set selected value and fill model property from userMVC DropDownList 设置选定值并从用户填充模型属性
【发布时间】:2016-10-15 07:18:06
【问题描述】:

我正在使用 MVC,但遇到下拉问题。

我传递了一个带有属性“类型”和“访问者”的模型,我保存了下拉列表的选定值。我有一个功能可以从数据库的下拉列表中写入项目,并希望下拉列表从模型属性中读取值和使其在列表中被选中,但当用户更改所选项目时也会更改属性。

第一个下拉列表在用户选择时填充模型属性中的值,但不从那里读取它(将项目设置为选中)。 第二个下拉从模型中读取值并将其设置为选定元素,但是当用户进行更改时不要重写属性。

我想从第一个下拉列表中填充选定项功能,并从第二个下拉列表中填充模型属性写入功能。

谢谢你的建议。这是代码:

<div class="row">
<div class="col-md-3 col-sm-6">
    @Html.DropDownList(Model.Type,
                 new SelectList(new List<SelectListItem>
                 {
                    new SelectListItem {Text = "DefaultValue", Value=""},
                    new SelectListItem {Text = "Value1", Value="1"},
                    new SelectListItem {Text = "Value0", Value="0"}
                 }, "Value", "Text", Model.Type), new { @class = "form-control" })
</div>
  <div class="col-md-3 col-sm-6">

    @Html.DropDownListFor(m => m.Visitor,
                 new SelectList(new List<SelectListItem>
                 {
                     new SelectListItem {Text = "DefaultValue", Value=""},
                    new SelectListItem {Text = "Value1", Value="1"},
                    new SelectListItem {Text = "Value0", Value="0"}
                 }, "Value", "Text", Model.Visitor), new { @class = "form-control" })

</div>

【问题讨论】:

  • 无法理解您想在这里问什么。但是从第一个创建相同的IEnumerable&lt;SelectListItem&gt; 是没有意义的(并且设置SelectList 的最后一个参数在您绑定到一个属性(它被忽略)并且您设置null 标签选项时使用DropDownListFor() 的第三个参数 - 您的代码只需为 @Html.DropDownList(Model.Type, new List&lt;SelectListItem&gt;{ new SelectListItem {Text = "Value1", Value="1"}, new SelectListItem {Text = "Value0", Value="0"}, "DefaultValue", new { @class = "form-control" })
  • 而生成SelectList的代码属于控制器,而不是视图。

标签: c# asp.net-mvc dropdownlistfor


【解决方案1】:

使用 javascript 和连线来更改事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 2014-07-21
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多