-1
私はASP.NET MVCを初めて使用しています。モデルデータを更新してから表示するのに問題があります。モデルデータを表示する
私は現在モデルとして使用しているMortgageCalculatorクラスを持っています。コントローラの
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);
}
コードは次のとおりです。
@using (Html.BeginForm())
{
<fieldset>
<legend>Mortgage Calculator</legend>
<div class="editor-label">
@Html.LabelFor(model => model.loan_amount)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.loan_amount)
</div>
<br />
<div class="editor-label">
@Html.LabelFor(model => model.interest)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.interest)
</div>
<br />
<div class="editor-label">
@Html.LabelFor(model => model.loan_duration)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.loan_duration)
</div>
<br />
<div class="editor-label">
@Html.LabelFor(model => model.payments_year)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.payments_year)
</div>
<br />
<input type="submit" value="Calculate" />
</fieldset>
}
私は受信データにいくつかの計算をしたいです結果ビューに結果を表示します。私はデータベースを持っていません。私はちょうどデータの簡単な計算を実行し、結果を表示したい。解決策はかなり正直なようですが、私は立ち往生しています。助けていただければ幸いです。
あなたの 'Results()'メソッドはパラメータ 'MortgageCalculator mortgageCalculator'を持っていますが、リダイレクト時にそのメソッドに何も渡さないのでデフォルトのインスタンスになります。 'M_Calculator'メソッドのどこかでデータを保持し、' Results() 'メソッドで再度取得する必要があります。理想的にはデータベースですが、 'Session'(' TempData'を含む) –