В настоящее время у меня есть ссылка на странице веб-сетки mvc, когда вы щелкаете мышью, вы переходите к представлению, которое отображает результаты в формате Excel. Но я хочу дать пользователям еще один вариант, чтобы включить больше деталей. Итак, я хочу добавить модальное приглашение с двумя переключателями «Экспортировать результаты» (что отображается сейчас) и «Экспортировать результаты с данными об участниках» перед переходом к представлению, передающему «ReportId» (1 или 2).
Вот мой код. Мое представление изменится с MemberstoExcel () на MemberstoExcel (ReportId) при вводе пользователем?
Ссылка в поиске:
{@Html.ActionLink("Export Results", "MembersToExcel")}
Код в контроллере:
public ActionResult MemberstoExcel()
{
var db= new Models.MemberDB();
Spreadsheet mySpreadsheet = new Spreadsheet();
MemberSearch member = new MemberSearch();
var contents = TempData["searchResults"];
IDictionary<string, string> searchConditions = new Dictionary<string, string>();
if (TempData["SearchConditions"] != null)
{
searchConditions = TempData["SearchConditions"] as Dictionary<string, string>;
}
this.TempData["SearchConditions"] = searchConditions;
..... code removed for readability......
var results = db.GetMembers(member);
mySpreadsheet.contents = results;
mySpreadsheet.fileName = "MemberResults.xls";
return View(mySpreadsheet);
}
Код в формате Excel:
<ss:Worksheet ss:Name="Sheet1">
<ss:Table>
@foreach (var content in Model.contents)
{
<ss:Row>
<ss:Cell>
<ss:Data ss:Type="String">@content.fullname</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">@content.email</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">@content.companyname</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">@content.regDate</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">@content.country</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">@content.modifiedDate</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">@content.ciscontactid</ss:Data>
</ss:Cell>
</ss:Row>
}
</ss:Table>
</ss:Worksheet>