1

MVCレガシー コードのアプリケーションを使用しています。AccountDivisionModelこれまでに行った変更は、オブジェクトのリストを取得するための 2 つの呼び出しです。元のコードはストアド プロシージャを呼び出し、ObjectResultデータを含む を返しました。

public class AccountDivisionModel
{
    int DivisionID;
    string DivisionName;
    int AccountID;
    bool IsActive;
}

アカウントに属する部門のリストと、アカウントの連絡先に属する (選択された) 部門のリストを取得するために、2 つの呼び出しを行っています。

var aDivs = Account.GetDivisionByAccountID(c.AccountID).ToArray();
var cDivs = Contact.GetDivisionByContactID(c.ContactID).ToArray();
ViewBag.AccountDivisions = new MultiSelectList(aDivs, "DivisionID", "DivisionName", cDivs);

私の編集ビューで

@Html.DropDownList("AccountDivisions", null, htmlAttributes: new { @class = "form-control", @multiple = "multiple", @placeholder = "Select Division(s)" })

SelectedValuesテキスト ボックス (@placeholder) をクリックすると、ドロップダウン リストにすべての部門が表示されるのに、なぜ が表示されないのかわかりません。

私は何を間違えましたか?

以下は、現在の作業インターフェイスの画像です。ご覧のとおり、選択された値がボックスに表示され、ドロップダウン リストには選択されていない残りの項目が表示されます。

現在の作業インターフェースの画像

4

2 に答える 2

0

すべての HTML 属性には必要ありません。必要なのは@class だけです。これは c# の予約語であるためです。

@Html.DropDownList("AccountDivisions", null, htmlAttributes: new 
       { @class = "form-control", multiple = "multiple", placeholder = "Select Division(s)" })

これはすべて間違っている可能性があります。DropDown の一般的な使用法は、ユーザーが多数のオプションから 1 つのオプションを選択することです。したがって、通常、モデルには次のような 2 つのプロパティがあります。

List<SelectItems> Accounts
int SelectedAccount

それから..あなたはするだろう

@Html.DropDownListFor( x => x.SelectedAccount, (SelectList)x.Accounts)
于 2014-11-11T17:53:47.410 に答える