2
我想創建一個簡單的報告頁面,其中包含可用報告的名稱的靜態數量的下拉列表,並將它們添加到生成比較報告的報告集合。ASP.NET MVC3 Html.DropDownListFor()
這裏是我的ViewModel
public class DealSummaryComparisonViewModel
{
public ICollection<DealSummary> AvailableDealSummaries { get; set; }
public ICollection<int> SelectedDealSummaries { get; set; }
}
這裏是我的看法
@model FRSDashboard.Web.Models.DealSummaryComparisonViewModel
@{
ViewBag.Title = "FRS Dashboard :: Deal Summary Comparison Report";
var dealSummaryList = new SelectList(Model.AvailableDealSummaries,
"DealSummaryId", "FileName");
}
<h2>Deal Summary Comparison Report</h2>
<p>Please select at least two files to compare:</p>
@using (Html.BeginForm("DealSummaryComparison", "Reporting", FormMethod.Post)) {
for (int i = 0; i <= 4; i++) {
<div>File @i+1: @Html.DropDownListFor(m => m.SelectedDealSummaries,
dealSummaryList)</div>
}
<div><input type="submit" name="download" id="download" value="Download To Excel" /></div>
}
這適用於填充下拉列表,但我不知道該如何填寫SelectedDealSummaries收集或刪除所選從列表中處理摘要(與使用WebForms做什麼類似)。
此外,我將如何添加一個項目像「選擇交易摘要...」列表?
UPDATE:
我已經修改我的代碼使用索引和調用javascript函數..但我堅持在JavaScript中做什麼。
@using (Html.BeginForm("DealSummaryComparison", "Reporting", FormMethod.Post)) {
for (int i = 0; i <= 4; i++) {
<div>
File @(i + 1):
@Html.DropDownListFor(m => m.SelectedDealSummaries[i], dealSummaryList,
new {onchange = "updateAvailable()"})
</div>
}
}
<script type="text/javascript">
function updateAvailable() {
alert("updating");
}
</script>
謝謝,我已經改變了我的代碼來做到這一點,它的偉大工程。我還添加了一個調用javascript函數來更新列表,但我堅持如何修改列表中的對象。 – shuniar