[HttpPost]
コントローラーを使用してビューから DateTime 値を返しています。コントローラーには、HttpPost メソッドの結果も取得したい別のメソッドがあります。または、HttpPost をビューに戻すこともできます。
私が欲しいのは、LINQ の値を HttpPost メソッドからフォームに表示することです。
ビューを作成するために使用する元の方法は次のとおりです。
public ActionResult Index()
{
ViewBag.Message = "Real Time Production";
DateTime ShiftStart = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
DateTime StartShift = ShiftStart.AddHours(7);
DateTime EndDate = StartShift.AddDays(1);
try
{
var PumaProduct =
new
{
PumaCastGood =
(from item in db.tbl_dppITHr
where item.ProductionHour >= StartShift && item.ProductionHour <= EndDate
select item).Sum(x => x.PumaCastGross) ?? 0,
PumaScrap =
(from item in db.tbl_dppITHr
where item.ProductionHour >= StartShift && item.ProductionHour <= EndDate
select item).Sum(x => x.PumaScrap) ?? 0,
PumaMachined =
(
from item in db.tbl_dppITHr
where item.ProductionHour >= StartShift && item.ProductionHour <= EndDate
select item).Sum(x => x.PumaMachined) ?? 0,
PumaHeatTreat =
(
from item in db.tbl_dppITHr
where item.ProductionHour >= StartShift && item.ProductionHour <= EndDate
select item).Sum(x => x.ATIPuma) ?? 0,
PumaShipped =
(
from item in db.tbl_dppITHr
where item.ProductionHour >= StartShift && item.ProductionHour <= EndDate
select item).Sum(x => x.PumaShipped) ?? 0,
};
ViewData["PumaCastGood"] = PumaProduct.PumaCastGood;
ViewData["PumaCastScrap"] = PumaProduct.PumaScrap;
ViewData["PumaMachined"] = PumaProduct.PumaMachined;
ViewData["PumaShipped"] = PumaProduct.PumaShipped;
ViewData["PumaHeatTreat"] = PumaProduct.PumaHeatTreat;
以下は、ActionResult インデックスに渡したい、または Index メソッドのアイテムと一緒にビューに渡したい HttpPost メソッドです。
[HttpPost]
public ActionResult GetSigmaDateInfo(string dp)
{
DateTime SelectedDate = Convert.ToDateTime(dp);
DateTime SelectedDateDayShiftStart = SelectedDate.AddHours(7);
DateTime SelectedDateDayShiftEnd = SelectedDate.AddHours(19);
var SigmaData =
from n in db.tbl_dppITHr
where n.ProductionHour >= SelectedDateDayShiftStart
where n.ProductionHour <= SelectedDateDayShiftEnd
select n;
return View();
}
メソッド間でメソッド値を渡す通常の C# メソッドを試しました。