126
4

9 に答える 9

28

1つの方法は次のとおりです。

    <select name="listbox" id="listbox">
    @foreach (var item in Model)
           {

                   <option value="@item.UserRoleId">
                      @item.UserRole 
                   </option>                  
           }
    </select>
于 2013-08-22T13:54:35.780 に答える
10

近いもの:

@Html.DropDownListFor(m => m.UserRole, 
   new SelectList(Model.Roles, "UserRoleId", "UserRole", Model.Roles.First().UserRoleId), 
   new { /* any html  attributes here */ }) 

DropDownListFor を設定するには、SelectList が必要です。必要な HTML 属性については、次を追加できます。

new { @class = "DropDown", @id = "dropdownUserRole" }
于 2013-08-22T13:53:26.957 に答える
7

の代わりに、List<UserRole>モデルに を含めることができますSelectList<UserRole>。また、保存するプロパティを追加しますSelectedUserRoleId...そうですね...選択した UserRole の Id 値。

SelectList を埋めてから、ビューで次を使用します。

@Html.DropDownListFor(x => x.SelectedUserRoleId, x.UserRole)

そしてあなたは大丈夫なはずです。

http://msdn.microsoft.com/en-us/library/system.web.mvc.selectlist(v=vs.108).aspxも参照してください。

于 2013-08-22T13:54:01.417 に答える
2

への呼び出しにDropDownListForは、具体化するためにさらにいくつかのパラメーターが必要です。次の SO の質問のように、SelectList が必要です。

MVC3 DropDownListFor - 簡単な例?

そこにあるものを使用して、リストをどこからロードするかではなく、データを保存する場所を指定しただけです。

于 2013-08-22T13:54:13.637 に答える
1
   @{
        List<CategoryModel> CategoryList = CategoryModel.GetCategoryList(UserID);
        IEnumerable<SelectListItem> CategorySelectList = CategoryList.Select(x => new SelectListItem() { Text = x.CategoryName.Trim(), Value = x.CategoryID.Trim() });
    }
    <tr>
        <td>
            <B>Assigned Category:</B>
        </td>
        <td>
            @Html.DropDownList("CategoryList", CategorySelectList, "Select a Category (Optional)")
        </td>
    </tr>
于 2016-11-29T19:44:56.940 に答える