0

有什麼辦法在MVC中創建一個下拉列表,給變量提供一個字符串值而不僅僅是ID?我在Dropdownlist上看到的所有內容都將其設置爲使名稱顯示在下拉列表中,但變量始終會獲取ID值。有沒有什麼辦法可以設置它以便變量獲得一個字符串值?MVC的下拉列表中的字符串值不是ID

+0

使該ID =名稱和名稱=名。這樣顯示的內容與下拉菜單的「值」或「ID」相同。 – Jack

回答

0

如果你想選擇ID並獲得一個值@Jack建議的效果會很好。如果你希望得到的是被選擇的值,而不是文字,你可以做到這一點與jQuery

$('.dropdown').change(function(){ 
    var result = $('.dropdown').text(); 
}); 

.VAL()會給你),這是選擇的.text(價值會給文本被選中。希望這有助於。

0

我想這可能是你問的..

您可以創建的SelectList的一個新實例,第一個參數是你想要在你的下拉列表中顯示的列表。第二個參數是要用於選項標記值的屬性,第三個參數是要用來填充選項標記內文本的屬性。

在這個例子中,我使用ID作爲Value,但實際上你會選擇你的字符串值的任何屬性。

控制器代碼

public ActionResult Create() 
{ 
    testDB.ContactTypes.Load(); 
    // "ID" is the property that we want to use for our option value 
    // "Name" is the property that we want to use for the text inside of our tag 
    ViewBag.ContactTypes = new SelectList(testDB.ContactTypes.Local.ToList(), "ID", "Name"); 
    return View(); 
} 

剃刀

<div class="editor-field"> 
    @Html.DropDownListFor(model => model.ContactType , (SelectList)ViewBag.ContactTypes) 
</div>