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