0
在下面的示例中,單擊按鈕時,下拉列表中選定的值應傳遞給控制器,但不傳遞給控制器。我怎麼能通過這個價值?使用按鈕將選定的下拉值傳遞給控制器
查看:
@model BillingModel
...
<select id="ddl" asp-for="SelectedCompanyID" asp-items="Model.Companies" class="form-control"></select>
<a asp-action="Create" asp-controller="Invoice" asp-route-id="@Model.SelectedCompanyID" class="btn btn-primary btn-sm"></span> Create Invoice</a>
....
型號:
public class BillingModel
{
public int SelectedCompanyID { get; set; }
public SelectList Companies { get; set; }
}
非常感謝,你會介意更詳細的查詢字符串vs路由值位?我不明白兩者的效果是什麼。 – Reafidy
我認爲當它是查詢字符串時,它可以映射到控制器的動作中(在這種情況下,參數名稱應與'id'匹配)。 – Unbreakable
當您使用表單進行GET時,任何表單控件的值始終會作爲查詢字符串值添加到網址中 - 瀏覽器不知道您的路由,因此無法生成「../ Invoice/Create/1」 (當前鏈接中的'href'屬性會生成假設您使用默認路由)。相反,它會生成'../ Invoice/Create?id = 1' –