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; }
}
素晴らしいおかげさまで、クエリ文字列とルート値のビットについて詳しく説明してもらえますか?どちらの効果があるのか分かりません。 – Reafidy
私はそれがクエリ文字列だと思う、コントローラのアクション(パラメータ名はこの場合は 'id'と一致する必要があります)にマップできます。 – Unbreakable
フォームを使用してGETを行うと、フォームコントロールの値は常にurl as query string値に追加されます。ブラウザはルートを認識していないので、 '../ Invoice/Create/1'を生成できません。 (あなたの現在のリンクの 'href'属性は、あなたがデフォルトルートを使っていると仮定して生成されます)。代わりに、 '../Insoice/Create=ID= 1'を生成します。 –