2017-07-08 6 views
0

私はMVCを初めて使い慣れています。MVC - @ Html.DropdownはViewBagから値を取り込みません。

私はMVCウェブページを開発しようとしています。 @HtmlDropDownList()を使用しようとしています。これは、ViewBagを使用してweb.configから値を取り込む必要があります。ページは正しい値でレンダリングされますが、出力画面では出力はありません。ドロップダウンでは、画面に空の値のみが表示されます。助けてもらえますか?

のWebConfigコード:

<add key="ddlStreams" value="Las Vegas|India|Australia"/> 

コントローラーコード:

public ActionResult Index() 
     { 
      string reportTypes = ConfigurationManager.AppSettings["ddlStreams"].ToString(); 
      ViewBag.ddlStreamsVB = reportTypes.Split('|') 
       .Select((value) => new SelectListItem { Value = value.ToString() }); 
      GetData getdata = new GetData(); 
      return View(getdata.GetDataFromTable()); 
     } 

これが私の見解です:

<div > 
    <div class="form-control"> 
     <div class="row"> 

      <div class="col-sm-4"> 
       @Html.Label("Stream name") 
      </div> 
      <div class="col-md-8"> 
       @Html.DropDownList("ddlStreamsVB1", ViewBag.ddlStreamsVB as IEnumerable<SelectListItem>) 
      </div> 
     </div> 
    </div></div> 

ソースを表示をクリックすると上のレンダリングされたHTML:

<div > 
     <div class="form-control"> 
      <div class="row"> 

       <div class="col-sm-4"> 
        <label for="Stream_name">Stream name</label> 
       </div> 
       <div class="col-md-8"> 
        <select id="ddlStreamsVB1" name="ddlStreamsVB1"><option value="Las Vegas"></option> 
<option value="India"></option> 
<option value="Australia"></option> 
</select> 
       </div> 
      </div> 
     </div> 


    </div> 

最終出力:( Final output here!!

答えて

1

問題は、以下のように更新し、SelectListItemのテキスト小道具を設定していないです。

ViewBag.ddlStreamsVB = reportTypes.Split('|') 
      .Select((value) => new SelectListItem 
      { Value= value.ToString(), 
      Text = value 
      }); 
関連する問題