私の目標は、特定の選択値(<option>
)事前に選択して<select>
ドロップダウンを生成するので、確定HTML
は次のようになります。2の値を持つオプションがあることを.NETコア<select>既定値を使用していますか?
<select>
<option value = "1">Option1</option>
<option value = "2" selected>Option2</option>
<option value = "3">Option3</option>
</select>
注意selected
属性は、ドロップダウンがクリックされる前に表示されることを示します。私は.NET Core Tagヘルパーを使用してこれを達成することはできません。そこForm
オブジェクトはそれにId
とName
性質を持っていることを
public class ReportViewModel
{
[Display(Name = "Pick a form")]
public IEnumerable<Form> AvailableForms { get; set; }
public Form SelectedForm { get; set; }
public List<ReportData> FormResponses { get; set; }
}
注:
この
は私のモデル(私はあなたが安全に細部を無視することができると思います)です。これは私のselect文です:
<label asp-for="SelectedForm.Name" class="form-control-label font-weight-bold"></label>
<select asp-for="SelectedForm.Name"
class="form-control"
onchange ="onFormSelected(this.value)"
asp-items="@(new SelectList(Model.AvailableForms, "Id", "Name"))">
</select>
私は基本的にあなたがSelectedForm.Id
プロパティを使用するように選択を設定されている必要がありMicrosoft Guide またはblog on the topic
これはデフォルトの「空」状態ですか、選択した値(既に選択されているユーザー設定など)を表示しようとしていますか? – James
@Jamesユーザーは別のページでフォームを選択します。上記のページ(マークアップ付き)がロードされます。彼らが望むなら、彼らはレポートのために別のフォームを選ぶことができるようになっています。つまり、ビューが読み込まれる前に、コントローラに「デフォルト」フォームのIDがあります。 – VSO
'asp-for'値は、最初に選択された値を決定します。 – CalC