title: Html.DropDownListFor with pre- selected item
body: <p>My application: MVC, C#, Razor  </p>
  
  <p>I have a <code>Dictionary</code> table. It has two foreign keys: <code>LanguageFrom</code> and <code>LanguageTo</code>.  </p>
  
  <pre><code>public ActionResult Edit(int id = 0)
      {
          Dictionary dictionary = db.Dictionary.Single(d =&gt; d.DictionaryId == id);
          if (dictionary == null)
          {
              return HttpNotFound();
          }
          ViewBag.LanguageFrom = new SelectList(db.Language, "LanguageId", "Name", db.Language.First(a =&gt; a.LanguageId == dictionary.LanguageFrom));
          ViewBag.LanguageTo = new SelectList(db.Language, "LanguageId", "Name", db.Language.First(a =&gt; a.LanguageId == dictionary.LanguageTo));
          return View(dictionary);
      }
  </code></pre>
  
  <p>Now I need to display two drop down lists with selected languages pre- selected:</p>
  
  <pre><code>@Html.DropDownListFor(x =&gt; x.LanguageFrom, (ViewBag.LanguageFrom as SelectList))
  @Html.DropDownListFor(x =&gt; x.LanguageTo, ViewBag.LanguageTo as SelectList)  
  </code></pre>
  
  <p>The problem is that my drop down lists both display first items on the list not the ones being currently selected.  </p>
  
  <p>What do I do wrong?</p>