![](/img/trans.png)
[英]How do I create a view model for a populated drop down list in ASP.NET MVC 3
[英]Asp.net MVC 4 Create View - Ordering Drop Down for Forgein Key table
我有一個使用EF6的MVC4項目,並已使用VS 2012向導向其中添加了控制器,模型和相關視圖。
創建視圖包括以下代碼(.aspx引擎)
<div class="editor-label">
<%: Html.LabelFor(model => model.senProviderId, "Site Id") %>
</div>
<div class="editor-field">
<%: Html.DropDownList("senProviderId", String.Empty) %>
<%: Html.ValidationMessageFor(model => model.senProviderId) %>
</div>
其中model.senProviderId引用一個相關的(外鍵)表並生成此HTML(段)
<div class="editor-field">
<select id="senProviderId" name="senProviderId"><option value=""></option>
<option value="3">SW127 </option>
<option value="4">NE011 </option>
<option value="5">NE133 </option>
<option value="6">Out016 </option>
.....
<option value="104">SE133 </option>
</select>
出於明顯的原因,我需要按顯示值而不是基礎鍵對下拉列表進行排序。
最好怎么做?
編輯:為父表控制器請求的控制器代碼
public ActionResult Create()
{
ViewBag.senHousingCode = new SelectList(db.sssHousingCodes, "hcId", "hcName");
ViewBag.senProviderId = new SelectList(db.sssProviderProfiles, "prvId", "prvSiteId");
return View();
}
當然-我正在尋找模型上的裝飾,但答案當然是在控制器代碼中使用OrderBy:
ViewBag.senProviderId = new SelectList(db.sssProviderProfiles.OrderBy(m => m.prvSiteId), "prvId", "prvSiteId");
感謝您的提示米哈伊爾!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.