2011-01-26 7 views
0

User View Controlにはコードビハインドがありません。だから、どこで/どのように私は要素のeventsを作る必要がありますか?MVC 3のユーザービューコントロールにロジックを追加する方法は?

私はあなたがコントロールのロジックについては気にしない必要がありますので、MVCにはユーザーコントロールはありません

+0

でどのように扱われるかの基本を含んで、私もWebフォームに添付される可能性があります...私は、MVCをコントロールする方法を学ぶために何を検索すべきか正確にはわかりません。それについてのいくつかのドキュメントへのリンクがいいです... – BrunoLM

答えて

7

... MVCでの制御のロジックを理解したいです。 MVCにPostBacksはありません。 MVCにViewStateはありません。 MVCにイベントはありません。モデルに含まれる

public class HomeController: Controller 
{ 
    public ActionResult Index() 
    { 
     return View(new MyViewModel 
     { 
      Name = "John" 
     }); 
    } 
} 

とデータをレンダリングビュー:

public class MyViewModel 
{ 
    public string Name { get; set; } 
} 

コントローラモデルを操作:

はモデルがあり

@model AppName.Models.MyViewModel 
<div>@Model.Name</div> 

ビューが何かを呼び出す必要がありますコントローラには、もはやPostBacksやイベントを使用しません。標準のHTMLアートを使用しますGET要求を送信するためのアンカー・リンクやPOST要求を送信するためのフォームなどのifact。

例:以下

<a href="/home/foo?param=123">click me</a> 

と:

@using (Html.BeginForm("Foo", "Home")) 
{ 
    @Html.TextBoxFor(x => x.Name) 
    <input type="submit" value="OK"> 
} 

が生成する

@Html.ActionLink("click me", "Foo", new { param = "123" }) 

アンカークエリ文字列パラメータとしてparam=123を通過フー・コントローラのアクションへのリンクを生成しますあなたがFooコントローラアクションにPOSTできるようにするHTMLフォーム情報:ASP.NET MVCを学習するための多くのチュートリアルやビデオで

<form action="/Home/Foo" method="post"> 
    <input type="text" id="Name" name="Name" value="" /> 
    <input type="submit" value="OK" /> 
</form> 

便利なリソース:

1

個人IDコントローラーのロジックを実行するか、持っていますコントローラーはあなたのために仕事をするビジネスロジッククラスを呼び出します。コントローラはViewを返します。モデルをコントローラからビューに渡し、ビューからモデルをパーシャルビュー(MVCはユーザーコントロールと同等)に渡します。

これはビュー/パーシャルビューにロジックがないことを意味します。あなたは非常にクリーンな方法でモデルをレンダリングすることができます

これは意味がありますか?

0

私はまた、スコットHanselman氏のNerdDinnerプロジェクトをお勧めします。 ASP.NET MVCフレームワークを学ぶ素晴らしいプロジェクトです。ダーリンディミトロフの答えを

も読んで、再読み込み...それは私がasp.netのMVCを学ぶために始めていたデータは、MVC

関連する問題