0

この一見単純な作業は、これまで行われたことがないようです。

言語情報を含むテーブルカルチャを取得するアクションを備えたコントローラーがあります。

    [HandleError]
    [ChildActionOnly]
    public ActionResult LanguageDropdownlist()
    {
        var languageDropdownlist = _unitOfWork.CulturesRepository.Get();
        return PartialView("_LanguageSelectionPartial", languageDropdownlist.ToList());
    }

languageDropdownlist は次のように構成されています。

List languageDropdownlistItems 
[0]
    - display_name
    - id
    - name
    - ...
[1]
    - display_name
    - id
    - name
    - ...
[2]
    - display_name
    - id
    - name
    - ...
[3]
    - display_name
    - id
    - name
    - ...

ビューにリストを渡します。

ビューで次の操作を行います。

@model List<ArtWebShop.Models.cultures>


<p>
    @Html.DropDownList("name", (IEnumerable<SelectListItem>)Model)
</p>

神の愛のためにドロップダウンリストにデータを入力するにはどうすればよいですか。ビューにある上記のコードは明らかに機能しませんが、コントローラーとビューからのコードで単一の説明を見つけることができないようです。

PS: viewData や viewBag は使用したくありません。

4

2 に答える 2

0

見てください: ASP.NET MVC で列挙型からドロップダウン リストを作成するにはどうすればよいですか?

私はすきです<%: Html.EnumDropDownListFor(model => model.MyEnumProperty) %>

役に立ちましたか?

于 2012-12-06T16:59:26.930 に答える
0

私は自分の解決策を見つけました。http://forums.asp.net/t/1817879.aspx/1からインスピレーションを得ました 。実際には非常に単純です。

私のコントローラーで:

    public ActionResult LanguageDropdownlist()
    {
        var culturelist = (_unitOfWork.CulturesRepository.Get()).ToArray();
        var list = new List<SelectListItem>();
                    for (int i = 0; i < culturelist.Count(); i++)
        {
            list.Add(new SelectListItem { Text = culturelist[i].name, Value = culturelist[i].id.ToString() });
        }

        return PartialView("_LanguageSelectionPartial", list);

    }

ここで、それらをビューに追加して、そこでアクセスできるようにします。

そして最後に私の部分ビューで:

@model List<SelectListItem>


<p> 
    @Html.DropDownList("language-dropdown",  Model)
</p>

@model を介してそれらにアクセスし、@Html.DropDownList に配置します。

于 2012-12-06T18:41:11.650 に答える