使用TempDataを[ ""]オブジェクトに第1コントローラ
Session["FirstName"] = FirstNameTextBox.Text;
3-使用セッション状態でセッション状態を作り出します。
あなたのViewModelには、多少のようになります。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using MvcContrib.Pagination;
using MvcContrib.UI.Grid;
using System.Web.Mvc;
namespace MyMVCProject.ViewModels
{
public class SubscriptionViewModel
{
public int SubscriptionID { get; set; }
public string SubNo { get; set; }
}
public class SubscriptionListContainerViewModel
{
public IPagination<SubscriptionViewModel> SubscriptionPagedList { get; set; }
public SubscriptionFilterViewModel Filters { get; set; }
public GridSortOptions GridSortOptions { get; set; }
public int? TotalCount { get; set; }
}
public class SubscriptionFilterViewModel
{
public int? CustomerID { get; set; }
public int? PlanID { get; set; }
}
}
あなたのコントローラのアクション:
public ActionResult Index(SubscriptionListContainerViewModel model, GridSortOptions gridSortOptions, int? page)
{
SubscriptionFilterViewModel filter = new SubscriptionFilterViewModel();
if (model.Filters != null)
{
filter.CustomerID = model.Filters.CustomerID;
filter.PlanID = model.Filters.PlanID;
}
TempData["Filters"]=filter;
//code for IPagination<SubscriptionViewModel> population.
}
エクスポート機能:
public void Export()
{
SubscriptionFilterViewModel filter = (SubscriptionFilterViewModel)TempData["Filters"];
TempData["Filters"]=filter;
//code for IPagination<SubscriptionViewModel> population and excel creation.
//output the excel after creation
Guid fileId = Guid.NewGuid();
string strFileName = Convert.ToString(fileId) + ".xls";
string strFilePathnName = HttpContext.Server.MapPath ("~/Content/Uploads/Excels/Export/") + strFileName;
MemoryStream file = new MemoryStream();
hssfworkbook.Write(file);
System.IO.File.WriteAllBytes(strFilePathnName, file.GetBuffer());
System.IO.FileInfo inf = new FileInfo(strFilePathnName);
HttpContext.Response.AddHeader("Content-Disposition", "attachment; filename=Blogs" + inf.Extension);
HttpContext.Response.ContentType = "application/ms-excel";
HttpContext.Response.TransmitFile(HttpContext.Server.MapPath ("~/Content/Uploads/Excels/Export/" + strFileName));
}
コールあなたの "Excelへのエクスポート" でエクスポートするアクションボタンをクリックします。
ご意見ありがとうございますが、私の見解はかなり異なっています。私はJeremy'sに非常によく似ていました。 public ActionResultエクスポート(){ \t \t \t var customers = customerRepository.FindAll(); \t \t \t戻り新しいExcelResult(顧客) \t \t \t \t .Columns(カラム=> { \t \t \t \t \t column.For(X => x.Id); \t \t \t \t \tカラム。 (x => x.Name); \t \t \t \t \tカラム。For(x => x.DateOfBirth).Format( "{0:d}"); \t \t \t \t}); \t \t} –