C# 在视图中显示模型数据
我是ASP.NET MVC新手,在更新模型数据并将其显示在视图中时遇到问题 我目前有一个MortgageCalculator类,我正在使用它作为模型C# 在视图中显示模型数据,c#,razor,asp.net-mvc-5,C#,Razor,Asp.net Mvc 5,我是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; } 控制器
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>
@使用(Html.BeginForm())
{
按揭计算器
@Html.LabelFor(model=>model.loan\u amount)
@Html.TextBoxFor(model=>model.loan\u amount)
@LabelFor(model=>model.interest)
@Html.TextBoxFor(model=>model.interest)
@LabelFor(model=>model.loan_duration)
@Html.TextBoxFor(model=>model.loan_duration)
@Html.LabelFor(model=>model.payments\u year)
@Html.TextBoxFor(model=>model.payments\u year)
}
我想对从用户那里收到的数据进行一些计算,然后在结果视图中显示结果。我没有任何数据库。我只想对数据进行简单的计算并显示结果。解决办法似乎很简单,但我被卡住了。非常感谢您的帮助。您应该返回模型并填充结果,而不是将用户重定向到其他操作,如下所示:
[HttpPost]
public ActionResult M_Calculator(MortgageCalculator mortgageCalculator)
{
UpdateModel(mortgageCalculator);
return View("Results", mortgageCalculator);
}
如果您不想创建另一个仅显示结果的视图,只需删除指示ASP.NET MVC应使用哪个视图的第一个参数,那么它将使用默认视图。Yourresults()
方法有一个参数MortgageCalculator MortgageCalculator
,但当您重定向到该方法时,不会向该方法传递任何内容,因此它将是默认实例。您需要将数据保存在M_Calculator
方法中的某个位置,然后在Results()
方法中再次获取数据。理想情况下是数据库,但您可以使用会话
(包括TempData
)