首页 > 解决方案 > 如何在 ASP.NET MVC 中使用 C# 在 Page_Load 上设置页面事件

问题描述

我正在使用 ASP.NET MVC 和 C#。我想在我的应用程序中触发卡插入/弹出事件。这怎么可能?只需在Form_Load(). 但是在 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;
}

我必须在哪里设置这些事件处理程序才能工作?

标签: c#asp.net-mvcweb-application-project

解决方案


推荐阅读