【问题标题】:How can I use CRUD at UI of ASP.NET Core MVC如何在 ASP.NET Core MVC 的 UI 中使用 CRUD
【发布时间】:2021-10-20 01:57:37
【问题描述】:

我使用 MvcControllerWithContextScaffolde 来创建 Scaffold, 这是我的 Index.cshtml

<td>
            @Html.DisplayFor(modelItem => item.PoNo)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.ItemNo)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.ProductNo)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Qty)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.NetPrice)
        </td>

和网站可以显示数据,但删除、详细信息、编辑.cshtml不起作用。 我已经修复了代码,但它仍然没有工作。 这是我的 Delete.cshtml

<div>
<h4>PoItem</h4>
<hr />
<dl class="row">
    <dt class="col-sm-2">
        @Html.DisplayNameFor(model => model.PoNo)
    </dt>
    <dt class="col-sm-10">
        @Html.DisplayFor(model => model.PoNo)
    </dt>
    <dt class="col-sm-2">
        @Html.DisplayNameFor(model => model.ItemNo)
    </dt>
    <dt class="col-sm-10">
        @Html.DisplayFor(model => model.ItemNo)
    </dt>
    <dt class="col-sm-2">
        @Html.DisplayNameFor(model => model.ProductNo)
    </dt>
    <dd class="col-sm-10">
        @Html.DisplayFor(model => model.ProductNo)
    </dd>
    <dt class="col-sm-2">
        @Html.DisplayNameFor(model => model.Qty)
    </dt>
    <dd class="col-sm-10">
        @Html.DisplayFor(model => model.Qty)
    </dd>
    <dt class="col-sm-2">
        @Html.DisplayNameFor(model => model.NetPrice)
    </dt>
    <dd class="col-sm-10">
        @Html.DisplayFor(model => model.NetPrice)
    </dd>
</dl>

<form asp-action="Delete">
    <input type="hidden" asp-for="PoNo" />
    <input type="hidden" asp-for="ItemNo" />
    <input type="submit" value="Delete" class="btn btn-danger" /> |
    <a asp-action="Index">Back to List</a>
</form>

这是我的数据库表。我使用带有两列的主键。

CREATE TABLE po_items (
po_no INTEGER,
item_no INTEGER,
product_no INTEGER,
qty INTEGER,
net_price NUMERIC,
PRIMARY KEY (po_no, item_no)

我认为问题在于我有两个主键,但我不知道如何解决问题。

【问题讨论】:

  • 你可以看看这个official document,如果你遇到问题,请随时分享。你可以使用Update like this
  • 致 Md Farid Uddin Kiron:我看过网站,但我认为我们有一点不同。网站没有使用复合键。
  • 好吧,我可以知道你的目的是什么是客户端的复合键?您是否使用数据库优先方法?
  • 致 Md Farid Uddin Kiron:是的,我首先使用数据库,它使用复合键。我发现当我使用主键时,它可以在 CRUD 上运行,但是当我使用复合键数据库时,它会在 CRUD 上出现错误。
  • 您也提供item_no 对吗?所以我不确定为什么你不能CRUD它,如果两个主键都给定了那么它不应该遇到问题

标签: postgresql asp.net-core-mvc crud scaffold


【解决方案1】:

您可以使用两个非主外键 所以如果你想与另一个关系关联,你应该在一个表中有一个主键和多个外键

【讨论】:

  • 这应该是评论而不是答案
  • 致 Ossama Abd:我认为复合键是允许使用的,你能告诉我原因吗?为什么
猜你喜欢
  • 2021-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
相关资源
最近更新 更多