0

値を渡し、SelectedItem 値を設定できるように定義されたビューを持つ MVC3 アプリケーションがあります。

List<SelectListItem> items = new SelectList(db.BILLING_COUNTRY, "ISO_Code_BillingCountry", "CountryName", Country).AsParallel().ToList();
        items.Insert(0, (new SelectListItem { Text = "Select Your Country", Value = "0" }));
        ViewBag.Countries = items;

ViewBag.EnableDropDowns が false または設定されていない場合、ドロップダウンリストに disabled = "disabled" 属性を設定しています。

@{ object displayMode = (ViewBag.EnableDropDowns) ? null : new { disabled = "disabled"     };
           @Html.DropDownList("Countries", null, new { disabled = displayMode, onchange     = "LoadItems()" } )
        }

ViewBag.EnableDropDowns を true に設定すると、ドロップダウン リストのすべての値が正しく設定されますが、有効ではなく無効になります。

なにが問題ですか?

4

3 に答える 3

0

設定する必要があると思いますenabled="enabled"

試す:

    @{
        bool displayMode = (ViewBag.EnableDropDowns) ? "enabled": "disabled";                     
     };

   @if(displayMode)
   {
     Html.DropDownList("Countries", null, 
      new { enabled= displayMode, onchange="LoadItems()" } );
   }
   else
   {
      Html.DropDownList("Countries", null, 
      new { disabled= displayMode, onchange="LoadItems()" } );
   }
于 2012-09-24T23:15:59.883 に答える
0

属性が存在する場合、select要素は無効になりますdisabled(その値に関係なく)。したがって、次のようなものが必要になります (htmlAttributesこの場合はより便利に見えるため、匿名オブジェクトではなく Dictionary として指定します)。

@{ 
    var displayMode = new Dictionary<string,object>();
    displayMode.Add("onchange", "LoadItems()");
    if (ViewBag.EnableDropDowns) displayMode.Add("disabled", "disabled");
}

@Html.DropDownList("Countries", null, displayMode)
于 2012-09-24T23:19:00.947 に答える
0

辞書宣言には注意してください。Dictionary<string, object>()そうしないと、実行時の問題に直面することになります。

条件に基づいてリストボックスを無効にする必要があります。

@{
var sourceListOptions = new Dictionary<string, object>();
sourceListOptions.Add("style", "Height: 250px; width: 225px;");
if (Model.SourceColumns.Count() == Model.ImportMappings.Count())
{
    sourceListOptions.Add("disabled", "disabled");
}

}

@Html.ListBox("SourceColumns", Model.SourceColumns, sourceListOptions)

また

@Html.DropDownList("SourceColumns", Model.SourceColumns, sourceListOptions)
于 2012-09-25T19:39:14.607 に答える