如何解决如何在 ASP.NET MVC 中使用 C# 在 Page_Load
我正在使用 ASP.NET MVC 和 C#。我想在我的应用程序中触发卡插入/弹出事件。这怎么可能?只需在 Form_Load()
中添加事件,它就可以在 Windows 窗体中完美运行。但是在 ASP.NET MVC 中,我必须在哪里设置这些处理程序?
Index
方法是:
public ActionResult Index()
{
return View("Index");
}
要触发的事件。 注意:如果我在 Index()
之前将这些事件放在 return View()
中,那么我会收到错误
异常(异步函数)
代码:
f.CardInserted += new f.CardEventHandler(Card_Inserted);
f.CardEjected += new f.CardEventHandler(Card_Ejected);
f.Watch();
卡插入/弹出事件处理程序定义:
public void Card_Inserted()
{
try
{
if (f.Connect())
{
String x = f.GetCardUID();
TempData["message"] = x.toupper();
//TempData["message"] = "Connection Established";
}
else
{
TempData["message"] = "Error During Connection";
}
}
catch (Exception)
{
TempData["message"] = "Error During Try/Catch";
}
}
public void Card_Ejected()
{
TempData["message"] = "Card Removed";
f.disconnect();
}
观看方法:
public void Watch()
{
this.RdrState = new Card.SCARD_READERSTATE();
readername = GetReadersList()[0];
this.RdrState.RdrName = readername;
states = new Card.SCARD_READERSTATE[1];
states[0] = new Card.SCARD_READERSTATE();
states[0].RdrName = readername;
states[0].UserData = 0;
states[0].RdrCurrState = Card.SCARD_STATE_EMPTY;
states[0].RdrEventState = 0;
states[0].ATRLength = 0;
states[0].ATRValue = null;
this._worker = new BackgroundWorker();
this._worker.WorkerSupportsCancellation = true;
this._worker.DoWork += WaitChangeStatus;
this._worker.RunWorkerAsync();
return;
}
我必须在哪里设置这些事件处理程序才能工作?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。