2017-05-21 4 views
1

プログラミングに慣れていません。私は、asp.netとMVCパターンを使いこなしています。コードスニペットを以下に示します。私はそのバランス方式に渡す方法はかなりわからないCurrentAccountMVCパターンを使用してバランスメソッドを表示する方法

public class People:CurrentAccount 
{ 

    // Creating customers 
    public string Name; 
    public string Surname; 
    private int _age; 
    //Setting restriction to account at age 18 
    public int age 
    { 
     get 
     { 
      return _age; 
     } 
     set 
     { 
      if(value>18) 
      { 
       _age = value; 
      } 
      else 
      { 
       throw new ApplicationException("Bank's current policies for having an account is over 18"); 
      } 
     } 
    } 



    CurrentAccount CA; 


    public People() 
    { 
     CA = new CurrentAccount(); 

    } 


} 

}

public class CurrentAccount : IAccount 
{ 


    double balance = 0; 

    public void deposit(double money) 
    { 
     balance += money; 


    } 

    public void withdraw(double money) 
    { 

     if (balance < 0) 
     { 
      balance -= money; 

     } 
     else 
     { 
      throw new ApplicationException("Insuffient amount"); 
     } 



    } 

    public double Balance() 
    { 
     return balance; 
    } 


} 

そして、私のController`

[HttpGet] 
    public ActionResult Deposit() 
    { 

     return View(); 
    } 

    [HttpPost] 
    public ActionResult Deposit(double money) 
    { 
     People p = new People() 
     p.deposit(money); 

     return View(); 
    } 

    public ActionResult Balance() 
    { 
     People p = new People(); 
     p.Balance(); 
     return View(); 
    } 

から継承

マイ人民クラス私は預金とそれを見る後の値を保持します。 お役に立ちましたか? ありがとう

+0

は、なぜあなたは 'だけで行うことはできませんp.balance() '?それはとにかく同じクラスです。 – Prajwal

+0

私はこれが正しく動作しませんと言うことができますから?新しいPeopleオブジェクトを作成しているので、入金した金銭は1回の呼び出し後に失われます。 C#をやっているときはパスカルの場合を使用してください! –

+0

ありがとうと感謝の言葉。どのようにそのメソッドのビューでモデルを渡すだろうか? –

答えて

0

こんにちは、上の質問とコメントの私の理解ごとに、私はあなたのビューにモデルを渡し、あなたが望むプロパティを取得したいと思います。もしそうなら、それはとても簡単です。

構文:

protected internal ViewResult View(
    object model 
) 

コントローラコード:

public ActionResult Balance() 
    { 
     People p = new People(); 
     p.Balance(); 
     return View(p); //passing the model object 
    } 

コードの表示:

@model人々

<body> 
    Your balance is @Model.balance 
</body> 

注:私はちょうど例としてバランスを取っ

、あなたはコントローラ内の任意の値を設定し、ビュー

そして、もう一つには、その値を表示することができ、あなたのアクションメソッドの名前とビューのファイル名べき上記の構文が機能するためには同じでなければなりません。そうでなければ、以下に述べるように他の構文を使用することができます。

公式出典:https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.view(v=vs.118).aspx#M:System.Web.Mvc.Controller.View%28System.Object%29

これはあなたのために役立つことを願って、親切に私は考えやフィードバック

をお知らせおかげ

カルティク

+1

ありがとう!本当に便利です! –

+0

@タレク、私は上記の答えが役に立っていて、それで解決策を得たら、それを答えとしてマークすることができます。そうすれば、同様の問題に悩まされたときに他の人がこの答えを見ることができます。ありがとうkarthik –

+0

お詫び申し上げます。完了! –

関連する問題