如何传递外键

问题描述 投票:0回答:1

我是mvc和asp.net的新手,面临以下问题。我有一个索引列出我在我的数据库中的所有汽车,在动作列中包括编辑,详细信息,删除我添加了预订行程以创建行程。

在图书旅行链接中我想传递汽车的ID:我的方式完全错误是这样的:

<a href="@Url.Action("Create", "Trips", new { id= item.Id })" class="btn btn-info btn-sm">
    <i class="fa fa-calendar-check-o" aria-hidden="true"></i>
</a>

因为通过这种方式,控制器将理解该id是Trip Id而不是Car Id。

此外,我在同一页面上创建和编辑

我将行程ID和车辆ID隐藏在表单顶部,如下所示:

@Html.HiddenFor(model => model.Id)
@Html.HiddenFor(model => model.CarId)

我的问题是:有没有办法让我通过汽车ID并且控制器不会认为它是旅行ID?

希望你理解我的问题

asp.net-mvc
1个回答
1
投票

如果你的控制器动作是(你正在使用路由)

[route("trip/{id}/{isCarid"]
public Actionresult Edit(int id,bool isCarid=false)
{

}

那么@ {bool isCarid = true;}

<a href="/yourcontrollername/trip/@item.id/@isCarid" class="btn btn-info btn-sm">
<i class="fa fa-calendar-check-o" aria-hidden="true"></i>

或者如果

public Actionresult Trip(int id,bool isCarid=false)
{

}

那么@ {bool isCarid = true;}

© www.soinside.com 2019 - 2024. All rights reserved.