0

送信時に ListBoxFor コントロールのアイテムを選択する際に問題に直面しています。PagedListPager コントロールを使用していますが、次のページを選択すると、ListBoxFor コントロールが選択した値を失い、エラーがスローされます。

これが私のコードです:

ビューモデル:

public IEnumerable<SelectListItem> FiscalYearsData { get; set };
public IEnumerable<int> SelectedYears { get; set; }

コントローラ (以下のようにリポジトリから FiscalYearsData を読み込みます):

fourteenStepStatusView.FiscalYearsData = 
projectRepository.GetFiscalYears.Select
(yr => new SelectListItem { Text = yr.ToString(), Value = yr.ToString()}).ToList();

意見:

@Html.ListBoxFor(model => model.SelectedYears, new      
MultiSelectList(Model.FiscalYearsData, "Value", "Text", Model.SelectedYears),  
new { @Id = "lstFiscalYears", @class = "ListBoxFor70Style", Multiple = "multiple", 
size = "3" })

誰でも同じ問題を解決するのを手伝ってくれますか? ここでどのような間違いをしているのかわかりません。

ありがとう

4

2 に答える 2

0

以下のいずれかを試してください: (両方とも動作します)

SelectedYears プロパティを次のように変更します

public IEnumerable<string> SelectedYears { get; set; }

また

会計年度を取得するためのサービス コールを次のように変更します。

fourteenStepStatusView.FiscalYearsData = projectRepository.GetFiscalYears.Select
(yr => new SelectListItem { Text = yr.ToString(), Value = (int)yr}).ToList()
于 2013-08-08T10:12:03.433 に答える