2014-05-03 131 views
-1

我有一個非常基本的MVC項目,做數學作業 - 2號MVC模型視圖不更新

的(+/*)由於某些原因我認爲是不是回發之後更新

這裏是我的控制器

namespace MathsAppMVC.Controllers 
{ 
    public class HomeController : Controller 
    { 

     MathsServiceClient loClient = new MathsServiceClient(); 
     Int32 loNum1 = 0; 
     Int32 loNum2 = 0; 
     //Int32 result = 0; 
     String locOperation = "Add"; 

     public ActionResult Index() 
     {         
      var model = new MathsModel 
      { 
       Number1 = loNum1, 
       Number2 = loNum2, 
       //Result = result, 
       MathsOperation = locOperation 
      }; 

      return View(model); 
     } 

     [HttpGet] 
     public ActionResult MathsOperation() 
     { 
      return View(); 
     } 

     [HttpPost] 
     public ActionResult MathsOperation(MathsModel mathsModel) 
     { 

      loNum1 = mathsModel.Number1; 
      loNum2 = mathsModel.Number2; 
      locOperation = mathsModel.MathsOperation; 

      if (locOperation == "Add") 
      { 
       mathsModel.Result = loClient.add(loNum1, loNum2); 
      } 
      else if (locOperation == "Subtract") 
      { 
       mathsModel.Result = loClient.subtract(loNum1, loNum2); 
      } 
      else if (locOperation == "Multiple") 
      { 
       mathsModel.Result = loClient.multiple(loNum1, loNum2); 
      } 
      else 
      if (locOperation == "Divide") 
      { 
       mathsModel.Result = loClient.divide(loNum1, loNum2); 
      } 

      if (ModelState.IsValid) 
      { 
       return View("Index", mathsModel); 
      } 
      else 
      { 
       return View("Index"); 
      } 

     } 

    } 
} 

這裏查看

@model MathsAppMVC.Models.MathsModel 

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 

@using (Html.BeginForm("MathsOperation", "Home", FormMethod.Post, new { })) 
{ 
    <fieldset>    
      <legend>Maths:</legend> 

      <div>@Html.LabelFor(u=>u.MathsOperation)</div> 
      <div>@Html.DropDownListFor(u => u.MathsOperation, new SelectList(
        new List<Object> 
        { 
         new { value = "Add" , text = "Add" }, 
         new { value = "Subtract" , text = "Subtract" }, 
         new { value = "Multiple" , text = "Multiple"}, 
         new { value = "Divide" , text = "Divide"} 
        }, 
        "value", 
        "text", 
        0)) 
      </div> 

      <div>@Html.LabelFor(u=>u.Number1)</div> 
      <div>@Html.TextBoxFor(u=>u.Number1)</div> 

      <div>@Html.LabelFor(u=>u.Number2)</div> 
      <div>@Html.TextBoxFor(u=>u.Number2)</div> 

      <div>@Html.LabelFor(u=>u.Result)</div> 
      <div>@Html.DisplayTextFor(u=>u.Result)</div>  

      <input type="submit" value ="Calculate" /> 
      <input type="reset" value ="Clear" /> 

     </fieldset> 

} 

在回傳後查看結果始終爲0.

有人請幫忙嗎?

回答

0

我不願意發佈這個作爲答案,但這就是我可以用我的聲譽。我從字面上將你的代碼複製並粘貼到一個新的MVC項目中,並且工作正常。你可以發佈你的MathsServiceClient代碼嗎?