如何传递外键

时间:2018-07-25 11:37:41

标签: asp.net-mvc

我是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是行程ID而不是汽车ID。

我也同时在同一页面上创建和编辑

我的旅程ID和汽车ID隐藏在表单的顶部,如下所示:

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

我的问题是:有没有一种方法可以让我通过Car ID,而控制器不会认为它的Trip ID?

希望您能理解我的问题

1 个答案:

答案 0 :(得分: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;}