bugfix> c# > 投稿

次のようなカミソリビューがあります。

@model WebCoreFly.Models.ViewModels.SearchFlightInfoCollList
@foreach (var fcoll in Model)
{
<div class="row">
    <div class="col-md-4">
        <p>From @fcoll.depFlight.Location , @fcoll.depFlight.Country (@fcoll.depFlight.Airport) Leaves at: @fcoll.depFlight.Time</p>
        <p>To @fcoll.depFlight.ArriveLoc , @fcoll.depFlight.ArriveCountry (@fcoll.depFlight.ArriveAirport) arrives at: @fcoll.depFlight.ArriveTime</p>
    </div>
    <div class="col-md-2">
        <p>
            Tarif: @fcoll.depFlight.Tarif 
        </p>
        <a asp-action="BookingForm">Choose <a>
    </div>
</div>
}

基本的には、データのコレクションを出力するリストです。各アイテムには、コントローラーを起動するリンクまたはボタンが必要です(BookingFormを呼び出して、ユーザーが選択したアイテムのデータを渡します)。 どうすればこれを達成できますか? htmlでは、リンクを作成してgetを介して情報を渡すとどうなりますか?しかしmvcコンテキストでそれを達成するにはどうすればよいですか?

回答 1 件
  • @ Html.ActionLinkを使用する

    @Html.ActionLink("Your link text", "ActionName", "ControllerName", fcoll)
    
    

    fcollオブジェクトは、結果のURLでクエリ文字列に変換されます。

    または、個々のプロパティを渡すには:

    @Html.ActionLink("Your link text", "ActionName", "ControllerName", new { fcoll.Property1, fcoll.Property2 })
    
    

あなたの答え