在视图中显示模型数据

时间:2016-04-13 01:08:58

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

我是ASP.NET MVC的新手,我无法更新模型数据,然后将其显示给我的视图。

我目前有一个MortgageCalculator类,我将其用作模型。

<?PHP
session_start();

if ($_SESSION['email'] == '')
{
    "<div id='cssmenu'>
                <ul>
                <li>
                <a href="registration.php"> Registration</a>
                </li>
                </ul>
    </div>"
}

else 
{
    "<div id='cssmenu'>
                <ul>
                <li>
                <a> "Greetings " . $_SESSION['fname'] </a>
                </li>
                </ul>
    </div>"
}

?>  

控制器的代码是:

    public double loan_amount { get; set; }
    public double interest { get; set; }
    public int loan_duration { get; set; }
    public int payments_year { get; set; }

我的观点代码是:

    [httpGet]
    public ActionResult M_Calculator()
    {
        var mortgageCalculator = new MortgageCalculator();
        return View(mortgageCalculator);
    }
    [HttpPost]
    public ActionResult M_Calculator(MortgageCalculator mortgageCalculator)
    {    
        UpdateModel(mortgageCalculator);
        return RedirectToAction("Results");
    }

    public ActionResult Results (MortgageCalculator mortgageCalculator) 
    {
        return View(mortgageCalculator);
    }

}

我想对用户收到的数据进行一些计算,然后在“结果”视图中显示结果。我没有任何数据库。我只是想对数据进行简单的计算并显示结果。解决方案似乎非常简单,但我被困住了。我将不胜感激任何帮助。

1 个答案:

答案 0 :(得分:1)

您应该返回填充结果的模型,而不是将用户重定向到另一个操作,如下所示:

[HttpPost]
public ActionResult M_Calculator(MortgageCalculator mortgageCalculator)
{    
     UpdateModel(mortgageCalculator);
     return View("Results", mortgageCalculator);
}

如果您不想创建另一个视图仅显示结果,只需删除指示ASP.NET MVC应使用哪个视图的第一个参数,因此,它将使用默认视图。