2016-05-25 12 views
1

List<SelectListItem>に2つの値を持つ変数があります。私はhtmlのドロップダウンボックスとして表現したいので、このようにしています。asp.netコアアプリケーションから複数選択を削除します。

<div class="form-group row"> 
    <label asp-for="Roles" class="col-sm-2 col-sm-offset-2 form-control-label"></label> 
    <div class="col-md-6"> 
     <select asp-for="Roles" asp-items="@Model.Roles" class="form-control selectpicker bs-select-hidden"></select> 
    </div>   
</div> 

と、このコードは私にこれらの二つの項目のリストを示し、それはまた、selectタグ用

multiple="multiple" 

属性を生成します。

複数の属性を生成しないようにするにはどうすればよいですか?あなたの選択

+0

列挙する役割のコレクションを持っているように、 ltiple *値。したがって、現在2つの項目を含んでいる(そして、あなたの 'asp-items'には2つ以上の項目があります)、どの選択項目が' selected'としてマークされるのかを知ることはどうですか?あなたのフォームが提出されたら、他のアイテムはどうなりますか? –

答えて

0

設定multiple=falseあなたはJavaScriptを使用して、この属性multipleを削除することができます

<select multiple="multiple" size="1"> 
+0

はそのようには動作しません –

+0

'asp-for ="ロール "配列またはリスト –

+0

asp-for = "Roles"で指定するロールのプロパティはlistです。この属性にリストや配列を渡すと、自動的に 'muliple = 'multiple''が設定され、mulipleがfalseに設定されます。aspの文字列プロパティを渡してください。 詳細はhttps://githubを参照してください。 .com/aspnet/Razor/issues/586 –

0

を、次の試してみてください。

モデル:

public int RoleId { get; set; } 

public SelectList Roles { get; set; } 

を例えばヘルパーCSSクラスを追加します。 :single-select

<select asp-for="RoleId" asp-items="@Model.Roles" class="single-select"> 
</select> 

Javascriptを:

$(function(){ 
    $(".single-select").removeAttr("multiple"); 
}); 

注: あなたはRoleIdと呼ばれるプロパティを確認することができますフォームを送信した場合。 Rolesというプロパティは、おそらくすべてのアイテムを表示するためのものです。

1

asp-forプロパティがIEnumerableの場合、Select Tag Helperは自動的にselect要素を複数にします。これを回避する方法は、asp-forプロパティとして基本クラス(コレクションではない)を使用することです。 asp-itemsプロパティは、選択リストのオプションになるアイテムなので、コレクションでなければなりません。

これは単にあなたがに渡されるあなたのビューモデルを調整する必要があるかもしれませんASP-用する=「役割」

<div class="form-group row"> 
<label asp-for="Roles" class="col-sm-2 col-sm-offset-2 form-control-label"></label> 
<div class="col-md-6"> 
    <select asp-for="Role" asp-items="@Model.Roles" class="form-control selectpicker bs-select-hidden"></select> 
</div>   

あなたのASP-用=「役割」を変更しているあなたの例では

ビューには、基本クラスの役割へのアクセスだけでなく、あなたが明らかに*ムーを含めることができるのAsp-for` `指しているものは何でも

ASP NET Core Select Tag Helper Reference

関連する問題