2016-09-01 8 views
-1
私は私のコントローラで作成したボタン渡す方法がある場合、私は思っていた

:すべてのボタンのインスタンスをコントローラからのビューに渡すにはどうすればいいですか?

<form method="get" action="/Account/Login"> 
    <h1>Login</h1> 
    <div class="col2"> 
     <label>Username: </label> 
     <input type="text" class="textEntry" name="username" value=""/> 
    </div> 
    <div class="col2"> 
     <label>Password: </label> 
     <input type="password" class="textEntry" name="password" value=""/> 
    </div> 
    <div class="col2"> 
     /*PLACE BUTTON HERE*/ 
    </div> 
</form> 
+4

これは「なぜですか?」という質問をする質問の1つです。ビューにビューモデルを送信し、必要に応じてボタンのプロパティを動的に設定します。 – Crowcoder

+2

コントローラはボタンを作成すべきではありません。ボタンは、情報がどのように表示され/どのように相互作用されるかを示すものです。これはビューレイヤーの範囲です。 –

+0

私は別のレイヤーでオブジェクトメソッドを呼び出すことになりますが、まだ比較的新しいこの – Jdavis649

答えて

1

まず:私のビューに

public class AccountController : Controller 
{ 

    public ActionResult Login() 
    { 
     Button button = new Button(); 

     return View(); 
    } 
} 

は、ボタンのクラスは、あなた自身ですSystem.Web.UI.WebControlsに属していますか? 最初のケースでは、オブジェクトをviewmodelに渡すだけで、次のように書くことができます。return View(yourClass); 論理レイヤとプレゼンテーションレイヤを分離する必要があるため、2番目のケースではモデルビューコントローラパターンが不自然です。 私が強くお勧めするのは、ボタンを作成するために必要なすべてのビューを渡すために適切なviewmodelクラスを作成することです。

関連する問題