我在KioskController中将即将到来的客户排队。
public ActionResult SetQueueInfo([Bind(Include = "QueueId,Name,QueueNumber,ServiceId,ServiceName,ServiceLetter")] Queue queue/*, int? id,string Name, string QueueNumber, string ServiceLetter, int ServiceId*/, int? id)
{
if (ModelState.IsValid)
{
MyQueue.todayQueue.Enqueue(queue);
db.Queues.Add(queue);
db.SaveChanges();
return View(queue);
}
return View();
}
我想在我的TellerScreenController上使它出队,如何使用静态变量使它出队,
这是我的TellerScreenController:
public ActionResult BtnNext()
{
var first = MyQueue.todayQueue.Dequeue();
TempData["QueueItem"] = first;
return View();
}
这是我的队列课程:
public class MyQueue
{
public int MyQueueId { get; set; }
public string Name { get; set; }
public string QueueNumber
{
get
{
return string.Format("{0}{1:000}", ServiceLetter ?? "?", QueueId);
}
set { }
}
public static Queue<MyQueue> todayQueue = new Queue<MyQueue>();
public string ServiceLetter { get; set; }
public virtual Service Service { get; set; }
}
答案 0 :(得分:1)
您可以为TodayQueue创建一个类
public class QueueHelper{
public static Queue<Queue> TodayQueue = new Queue<Queue>();
}
在Kios控制器中
public ActionResult SetQueueInfo([Bind(Include = "QueueId,Name,QueueNumber,ServiceId,ServiceName,ServiceLetter")] Queue queue/*, int? id,string Name, string QueueNumber, string ServiceLetter, int ServiceId*/, int? id)
{
if (ModelState.IsValid)
{
QueueHelper.TodayQueue.Enqueue(queue);
db.Queues.Add(queue);
db.SaveChanges();
return View(queue);
}
return View();
}
出纳屏幕中
public ActionResult BtnFinish()
{
var first = QueueHelper.TodayQueue.Dequeue();
TempData["QueueItem"] = first;
return RedirectToAction("Index");
}
在索引cshtml视图中
@{
var item = (MyQueue)TempData["QueueItem"];
}
<p>@item.Name</p>