ASP .NET Core:可编辑网格:插入下拉列表

时间:2017-05-19 19:21:44

标签: asp.net-core

Objetive:我试图构建一个视图,其中表(机器)中的记录可以在网格中更新,并且每个记录的每个属性都可以选择从下拉列表中选择。

这是我的Get方法:

public async Task<IActionResult> Test()
        {
            return View(await _context.Machines.Include(t => t.MachineTypes).Include(p => p.Suppliers).Include(s=>s.Stores).AsNoTracking().ToListAsync());
        }

这是下拉列表的定义:

private void PopulateMachineTypeDropDownListStore(object selectedStore = null)
        {
            var typequery = from k in _context.Stores
                            orderby k.StoreName
                            select k;
            ViewBag.StoreID = new SelectList(typequery.AsNoTracking(), "StoreID", "StoreName", selectedStore);
        }

现在,到视图:

型号:

@model IEnumerable<Application.Models.Machine>

因为我需要所有寄存器。然后是表。

部首:

    <table class="table">
        <thead>
            <tr>
                <th>
                    @Html.DisplayNameFor(model => model.MchName)
                </th>
                <th>
                    @Html.DisplayNameFor(model => model.StoreID)
                </th>
            </tr>
        </thead>

体:

        <tbody>
            @foreach (var item in Model)
            {
                <tr>
                    <td>
                        @Html.DisplayFor(modelItem => item.MchName)
                    </td>
                    <td>
                        <div class="form-group">
                            <label asp-for="StoreID" class="col-md-2 control-label"></label>
                            <div class="col-md-10">
                                <select asp-for="StoreID" class="form-control" asp-items="ViewBag.StoreID">
                                    <option value="">-- Seleccione Tienda --
 </option>
                                </select>
                                <span asp-validation-for="StoreID" class="text-danger"></span>
                            </div>
                        </div>
                    </td>
                </tr>
} 
        </tbody>
    </table>
}

问题:我已经读过 td 中最好不要使用 div 但它可能会有效,尽管如此可能是更好的选择。哪个是最好的做法?

问题:嗯,这是一个测试,但我收到此错误: &#34;&#39; IEnumerable的&#39;不包含&#39; StoreID&#39;的定义没有扩展方法&#39; StoreID&#39;接受类型&#39; IEnumerable&#39;的第一个参数。可以找到(你错过了使用指令或汇编引用吗?)&#34;

我无法跟踪错误。对我来说它看起来很好,我不知道为什么它不能读取StoreID。我想知道它是否适用于&#34; asp-for&#34;里面的div。我不知道。

感谢任何帮助。

由于

0 个答案:

没有答案