迭代MVC C中传递的模型时添加动态下拉列表#

时间:2018-02-12 04:09:29

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

我有一个问题,我一直想弄清楚,我希望得到一些帮助。我有以下模型

public class SampleModel
{
  [Required]
  public int Id {get;set;}
  [Required]
  public string Name {get;set;}
  [Required]
  public int TypeId {get;set}
  public int? SubTypeId {get;set;}
}

我有API调用以获取所有可用类型,然后通过API调用获取基于传递的TypeId的可用子类型。

Controller设置了索引,我在ViewBag.AvailableTypes中传递了相应的一组类型。我也有Razor View:

@model IEnumerable<Models.SampleModel>

@{
    ViewBag.Title = "SetSampleModels";
}

<h2>Set Sample Models</h2>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Id)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Name)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.TypeId)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.SubTypeId)
        </th>
    </tr>
    @foreach (var item in Model)
    {
    <tr>
       <td>
           @Html.DisplayFor(modelItem => item.Id)
       </td>
       <td>
           @Html.DisplayFor(modelItem => item.NaME)
       </td>
       <td>
           @Html.DropDownListFor(modelItem => item.TypeId,AvailableTypes)
       </td>
       <td>
           ??????@Html.DropDownListFor(.....)?????
       </td>
    </tr>
    }
</table>

我有jquery可以动态替换选择下拉列表,但我不知道如何为jquery编写目标代码并让控制器读入正确的项目。我也不熟悉如何允许&#34; null&#34;选项,因为我不需要子类型。

任何帮助都会非常感激,因为解决这个问题令人沮丧。

谢谢大家! 乔恩

0 个答案:

没有答案