0

すべてのビューでドロップダウンを作成するために、部分ビューを1つ作成しようとしています。 1つのビューモデルとその部分ビューを作成しました。その作成は適切に行われますが、選択された値は表示されません。以下は@ Html.DropDownListに選択した値が表示されない

ビューモデルクラス

以下
public class drowDownVM 
    { 
     public string id { get; set; } 
     public string name { get; set; } 
     public string cssClass { get; set; } 
     public string keyColumnName { get; set; } 
     public string valueColumnName { get; set; } 
     public string selectedValue { get; set; } 
     public string viewbagName { get; set; } 
     public bool isMultipleSelect { get; set; } 
     public List<int> multipleselectedValue { get; set; } 
    } 

は以下

@if (Model != null) 
{ 
    if (ViewData != null && ViewData.Count > 0 && ViewData.Keys.Contains(Model.viewbagName)) 
    { 
     string ddName = !(string.IsNullOrEmpty(Model.name)) ? Model.name : "default-name"; 
     string viewBagName = !(string.IsNullOrEmpty(Model.viewbagName)) ? Model.viewbagName : ViewData.Keys.First(); 
     string keyColumnName = !(string.IsNullOrEmpty(Model.keyColumnName)) ? Model.keyColumnName : "id"; 
     string valueColumnName = !(string.IsNullOrEmpty(Model.valueColumnName)) ? Model.valueColumnName : "id"; 
     string selectedVal = !(string.IsNullOrEmpty(Model.selectedValue)) ? Model.selectedValue : ""; 
     List<int> multipleSelectVal = (Model.multipleselectedValue != null && Model.multipleselectedValue.Count > 0) ? Model.multipleselectedValue : new List<int>(); 
     var cssClass = !(string.IsNullOrEmpty(Model.cssClass)) ? Model.cssClass : ""; 
     if (!Model.isMultipleSelect) 
     { 
      <div> 
       @Html.DropDownList(ddName, new SelectList((System.Collections.IEnumerable)ViewData[viewBagName], keyColumnName, valueColumnName, 2), "--Select--", new { @class = cssClass, @data_Val = selectedVal }) 
      </div> 
     } 
     else 
     { 
      @Html.ListBox(ddName, new MultiSelectList((System.Collections.IEnumerable)ViewData[viewBagName], keyColumnName, valueColumnName, multipleSelectVal), new { @class = cssClass, @multiple = "multiple"}) 
     } 
    } 
} 
else 
{ 
    <p class="hidden">Model Data Not Found!</p> 
} 

をドロップダウンバインドする部分図であるが、最初のものは、選択単一で、ドロップダウンバインドする部分ビューを呼び出すコードでありますもう1つは複数の選択を呼び出すことです。

@Html.Partial("_dropdown", new drowDownVM() { cssClass = "form-control", id = "TargetTypeList", keyColumnName = "code_val", name = "TargetTypeList", selectedValue = "1", valueColumnName = "code_name", viewbagName = "TargetTypeList"}) 

@Html.Partial("_dropdown", new drowDownVM() { cssClass = "form-control", id = "TargetTypeList", isMultipleSelect = true, keyColumnName = "code_val", name = "TargetTypeList", selectedValue = "1", valueColumnName = "code_name", viewbagName = "TargetTypeList", multipleselectedValue = new List<int>() { 1, 2 } }) 
+0

注:のみ、部分ビューのために行く必要がresusableドロップダウンコンポーネントを作成しないようにしたい場合は、 –

+0

ドロップダウンリストには、選択した値を示していないMVCでEditorTemplateを試すことができます。その意味 ?コントローラーで選択した値が得られていませんか?またはユーザーがその時間にドロップダウン値を選択しようとしたときに、選択されていません。本当の問題を教えてください。質問がほとんど混乱しない –

+0

この部分表示を編集モードで使用し、選択された値が表示されないデフォルトの選択値を表示するとします。 – DaxeshVora

答えて

0
<div> 
    @Html.DropDownList(ddName, new SelectList((System.Collections.IEnumerable)ViewData[@ViewBag.ViewBagName], keyColumnName, valueColumnName, 2), "--Select--", new { @class = cssClass, @data_Val = selectedVal }) 
</div> 
+2

これは質問に答えるかもしれませんが、あなたが何をしたのか、それがどのように問題を解決するのかについての説明はあまりありません。あなたの答えを広げて、ヘルプセンター(https://stackoverflow.com/help/how-to-answer)をチェックして、良い答えが期待されるものを見てください。 –

関連する問題