クレイジーな薬を飲んでいるような気がします。私たちのデータベースから私たちが持っているすべてのワイン生産者を読み取るビューのドロップダウンリストがあります。selectedValueを参照ページによって駆動される特定のIDに設定したいと思います。デバッグでselectedValueを取得し、選択された値が入力されていることを確認できます(この例では906)が、ページがレンダリングされるときにドロップダウンリストが正しい値に設定されません。デフォルトでは常にデフォルトで1になります。価値。コントローラではなくかみそりでselectListを作成しようとしましたが、何も機能しません。これについての助けをいただければ幸いです、私はそれが何か小さなものだと思います。
コントローラ:
if (User.IsInRole("admin"))
{
if (ID != 0)
{
ViewBag.ProducerSelect = new SelectList(db.Producers.OrderBy(p => p.Name), "ProducerID", "Name", ID);
}
else
{
ViewBag.ProducerSelect = new SelectList(db.Producers.OrderBy(p => p.Name), "ProducerID", "Name");
}
}
意見:
if (User.IsInRole("producereditor"))
{
<h3>@ViewBag.ProducerName</h3>
}
else
{
<div class="editor-label">
@Html.LabelFor(m => m.Wine.ProducerID, "Producer")
</div>
<div class="editor-field">
@Html.DropDownListFor(m => m.Wine.ProducerID, ViewBag.ProducerSelect as SelectList)
</div>
}
以下を試しましたが、成功しませんでした。
ViewBag.ProducerSelect = new SelectList(from p in db.Producers
orderby p.Name
select new { p.ProducerID, p.Name }
, "ProducerID", "Name", ID);