如何检查页面加载的值更改

时间:2015-09-24 23:34:55

标签: c# asp.net-mvc-5

加载此页面时,GameInfo.roundcounter++;将始终执行。但我想要做的是只有在正确改变时才增加这个值。

public ActionResult Intermediate()
    {
        int correct = GameInfo.correct;
        GameInfo.roundcounter++;


           return View(); 
    }

在伪代码中,这就是我想要实现的目标。

if(corrrect > previous.correct) THEN
   INCREMENT GameInfo.roundcounter

任何人都可以帮助我做到这一点。谢谢。

3 个答案:

答案 0 :(得分:0)

<强>更新

将以前的正确内容存储在ViewBag中

ViewBag.correct = previous.correct    

然后评估结果。

public ActionResult Intermediate()
{
     If(ViewBag.correct > Gameinfo.correct)
     {
           Gameinfo.correct++;
     }
}

答案 1 :(得分:0)

你可以做的是这样的事情:

// Have two variables: and 'old' and 'new' counter for comparison.
int oldCounter, newCounter = 0;

// Whenever you increment your newCounter, set the value of oldCounter to the previous value of the newCounter
oldCounter = newCounter;
newCounter = //new value;

// Because 'GameInfo.counter' = 'oldCounter', compare it to 'newCounter'
if (newCounter > GameInfo.counter)
    GameInfo.roundCounter++;

答案 2 :(得分:0)

为什么不在分配前进行测试:

private static int correct = 0;
public ActionResult Intermediate()
{
    if (correct != GameInfo.correct)
    {
        correct = GameInfo.correct;
        GameInfo.roundcounter++;
    }
    return View(); 
}

通过定义方法的正确外部,作为私有静态,您可以通过多次调用ActionResult来访问它,并且不能在包含此方法的类之外访问它。它是一个变量,它将记住你最后的“正确”,无论你使用的是什么类型的实例。