2011-12-10 90 views
2

我是一個年輕的開發人員在asp.net mvc,現在我試圖做一個簡單的計算器,計算出用戶輸入的值。顯示結果從控制器的視圖在asp.net mvc c#

這是我的MVC模式:

public class MoneyInstallments 
{ 
    [Required(ErrorMessage="The price is required.")] 
    public double price { get; set; } 

    [Required(ErrorMessage = "The duration is required.")] 
    public int duration { get; set; } 

    public double interestRate = 0.029; 
    public double total_interest { get; set; } 
    public double total_money { get; set; } 
    public double total_money_month { get; set; } 

} 

控制器:

public ActionResult Index() 
{ 
return View(); 
} 
[HttpPost] 
public ActionResult Index(FormCollection frm) 
{ 
     string price_str = frm["price"].ToString(); 
     string duration_str = frm["duration"].ToString(); 
     double price; 
     double duration; 

     try 
     { 
      price = Convert.ToDouble(price_str); 
      duration = Convert.ToDouble(duration_str); 
      double interestRate = 0.029; 
      double total_interest = interestRate * duration; 
      double total_money = total_interest + price; 
      double total_money_month = total_money/duration; 

     } 
     catch (FormatException) 
     { 
      Response.Write("Unable to caculate"+price_str); 
     } 
     catch (OverflowException) 
     { 
      Response.Write("Unable to caculate" + price_str); 
     } 


     return View(); 
    } 

的觀點:

<% Html.BeginForm(); %> 
    <fieldset> 
     <legend>Money Information</legend> 
    <table> 
     <tr> 
      <td>Product Price:</td> 
      <td>:</td> 
      <td> 
       <%: Html.TextBoxFor(m => m.price, new { id = "price", name = "price"})%> <!-- user can type only 50 char of the string --> 
       <%: Html.ValidationMessageFor(m => m.price)%> 
      </td> 
     </tr> 
     <tr> 
      <td>Interest per month</td> 
      <td>:</td> 
      <td>2.9%</td> 
     </tr> 
     <tr> 
      <td>Duration</td> 
      <td>:</td> 
      <td> 
       <%: Html.TextBoxFor(m => m.duration, new {id="duration", name="duration"}) %> 
       <%: Html.ValidationMessageFor(m => m.duration) %> 
      </td> 
     </tr> 
     <tr> 
      <td colspan="3" align="right"><input type="submit" value="Calculate"id="btnCalculate"/></td> 
     </tr> 
     <tr> 
      <td>Monthly Pay is</td> 
      <td>:</td> 
      <td><div id="result"></div></td> 
     </tr> 
    </table> 
    </fieldset> 
    <% Html.EndForm(); %> 

我想顯示從我的控制器total_money_month到中我的意見,但我知道這個想法。任何人都可以告訴我。

回答

1

你可以在你的控制器使用ViewBag值傳遞給視圖:

ViewBag.MonthlyTotal = total_money_month; 
return View(); 
在你看來

然後,您可以顯示它:

@ViewBag.MonthlyTotal 

編輯:

要代替使用ViewData:

Cont輥:

ViewData["MonthlyTotal"] = total_money_month; 
return View(); 

查看 -

<%= ViewData["MonthlyTotal"] %> 
+0

使用ViewBag有錯誤:它不會在我的當前上下文包含。 – Nothing

+0

你使用MVC3嗎?如果沒有,您可以使用ViewData代替。 –

+0

在編輯中添加樣本 –

相關問題