【问题标题】:Wrong bindind on select option ASP.NET MVC选择选项 ASP.NET MVC 上的错误绑定
【发布时间】:2017-12-21 13:56:36
【问题描述】:

当我将表单发布到Controller 时,asp-forVehiclePlate 上的绑定会获得选择选项 (@vehicle.Category) 的 value,但我想获得 textController 中的选项 (@vehicle.Plate)。我该怎么做?

这是我的select

@model Exam
...
<select asp-for="VehiclePlate" id="listVehicle" data-init-plugin="select2" style="width: 100%">
    @foreach (var vehicle in ViewBag.Vehicles)
    {
       <option value="@vehicle.Category">@vehicle.Plate</option>
    }
</select>

这是我的Controller

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create(Exam exam)
{
  ...
}

【问题讨论】:

    标签: c# asp.net asp.net-mvc razor binding


    【解决方案1】:

    select 标记有一个 asp-items 属性,您可以将其设置为 SelectList,例如

    <select asp-for="VehiclePlate" asp-items='new SelectList(ViewBag.Vehicles, "Plate", "Plate")'>
    </select>
    

    “Plate”、“Plate”部分表示选择使用 Plate 作为值和下拉菜单的文本。

    【讨论】:

    • 好的,但这不能回答问题。
    • 那我不明白你的问题是什么。您想在控制器中获取选定的板吗?如果是这样,则将其作为选项的值和文本。
    • 我需要视图中的类别,这就是我在值中使用它的原因。但是没关系,已经知道了。
    猜你喜欢
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多