ASP.NET MVC 3は、分割ビュー-partialViewを呼び出すいくつかの方法(セット)

4415 ワード

私たちのページは通常いくつかの部分で構成されています.いくつかの共通の領域は通常PartialView(一部のビュー)を作成しますが、これらのビューは完全に固定されているわけではありませんので、特定のControllerで制御する必要があります.静的htmlだけなら、PartialViewにもできますが、あまり意味がありません.MVC 3でPartialViewを呼び出す方法を示します.
まず、テスト用のControllerを作成します.
TestController
  public   class   TestController : Controller {      public   ActionResult Message()      {          var testObj =  new   List< string >()          {              "aaa" "bbb" "ccc"          };
           return   PartialView( "Message" , testObj);      } }
中にはActionメソッド、Message()があり、「Message」というPartialViewを返し、このViewに文字列をパラメータとして渡しました.
通常、Controllerを作成すると、右クリックしてViewを追加します.VSはViewsフォルダに対応するviewファイルをデフォルトで作成しますが、この例では「Test/Message.cshtml」のはずです.しかし、partialViewについては、私たちはそうしません.再利用可能なビューなので、Sharedフォルダの下に置くべきです.MVCは「先行を約束する」プログラミングなので、Sharedフォルダの下のViewと現在のページがあるControllerの下のViewをデフォルトで探します.
Sharedフォルダを右クリックしてViewを追加し、「Create as a Partial View」を選択すると、layoutなどのコードが追加されず、完全に空白のviewになります.
 
そして、Actionの戻りタイプに応じてhtmlの仕事をします.ここでは、Listの各文字列を単純に出力している.
Message.cshtml @model List< string >
  <ul> @ foreach   (var item  in   Model) {      <li>@item</li> } </ul>
最後に、このPartialViewを別のビューで呼び出すことができます.
1つの方法は、ControllerとActionを指定することです.<h3>Call Html.Action</h3> @Html.Action( "Message" "Test" )
しかし、ControllerとActionは必須ではありません.新しいオブジェクトをPartialViewに渡すこともできます.<h3>Call Html.Partial</h3> @Html.Partial( "Message" new   List< string > {  "ccc" "ddd" "eee"   })
注意:
Html.Action ( "Message" "Test" )   @Html.Partial( "Message" new
  List< string > {  "ccc" "ddd" "eee"
  })  Html.Partial( "Message" new
  List< string > {  "ccc" "ddd" "eee"
  }
)が呼び出された
Viewがあるフォルダを探したり、
Sharedフォルダは...Viewのファイルを探しています
もう1つの一般的なケースは、スクリプトリクエストです.次のコードは、JQueryを介してTest/Messageを呼び出し、IDがfuckのDIVに結果を入力します.< h3 >Use JQuery</ h3 > < a   href = "javascript:;"   onclick = "loadFuck()" >Invoke LoadPartial</ a > < div   id = "fuck" >        </ div >
  < script   type = "text/javascript" >      function loadFuck() {          $("#fuck").load('/Test/Message');      } </ script >