私は最初のMVCアプリケーションを構築しています。これは 'NerdDinner'チュートリアルをたどっています。しかし、同じ方法でSelectListからドロップダウンリストを作成すると、私は問題に遭遇しています。mvc - 編集ビュー内にドロップダウンリストが正しく表示されない
何らかの理由で、データがデータベースに設定されていて、[詳細]ビューに正しい値が表示されていても、[編集]ビューを表示すると、ドロップダウンリストに正しい選択が表示されません。すべての人がリストの最初の値を思いついています。
私はNerdDinnerのコードを少しずつ使ってきましたが、私の人生の間は違いはありませんが、アプリケーションは編集時に現在の値でドロップダウンを正しく表示します。
ここからどこへ行くかについてのご意見はありますか?誰かが何か特定のことを求めたら、コードスニペットを投稿できます。
更新:フィールドセット内
:
<p>
<label for="Parking">Parking Arrangement:</label>
<%= Html.DropDownList("Parking", Model.Parking)%>
<%= Html.ValidationMessage("Parking", "*") %>
</p>
編集アクション:
//
// GET: /Buyer/Edit/2
public ActionResult Edit(int id)
{
Buyer_Profile buyer_profile = buyerRepository.GetBuyerProfileByID(id);
if (buyer_profile == null)
return View("NotFound");
else if (!buyer_profile.IsOwnedBy(User.Identity.Name, id))
return RedirectToAction("Index", "Home");
else
return View(new BuyerFormViewModel(buyer_profile));
}
彼らはNerdDinner例のためにそれを構築するのと同じ方法で、私は 'を作成... FormViewModel ':
public class BuyerFormViewModel
{
// Properties
public Buyer_Profile Buyer_Profile { get; private set; }
public SelectList Parking { get; private set; }
// Constructor
public BuyerFormViewModel(Buyer_Profile buyer_profile)
{
Buyer_Profile = buyer_profile;
Parking = new SelectList(BuyerProfileOptions.Parking, Buyer_Profile.Parking);
}
}
、値がすでに詳細に示されているとき、「編集」をクリックして生成されたHTMLを表示およびD/Bに保存されている:
<p>
<label for="Parking">Parking Arrangement:</label>
<select id="Parking" name="Parking"><option>No Preference</option>
<option>On Street</option>
<option>Assigned Street</option>
<option>Open Garage</option>
<option>Covered Garage</option>
</select>
</p>
同じ形式のテキストフィールドには、それらの値が正しく読み込まれています。それはないドロップダウンだけです!
ご注意いただきありがとうございます。
私はデバッガを段階的に使いこなしており、ページのレンダリングが終わる頃には、それが出てくるように見えます。しかし...それはしません。 – user101306
HtmlHelperとEditアクションのスニペットを投稿できますか? また、HTML出力もあります。 –