2

私はmvcが初めてです。今学んでいます。私は mvc で部分ビューをロードするためのさまざまな手法を検索していましたが、stackoverflow で適切な手法を取得しました。ここにあります。部分ビューをメイン ビュー内に直接ロードする場合は、Html.Action ヘルパーを使用できます。

@Html.Action("Load", "Home")

または、Load アクションを実行したくない場合は、HtmlPartial ヘプラーを使用します。

@Html.Partial("_LoadView")

If you want to use Ajax.ActionLink, replace your Html.ActionLink with:

@Ajax.ActionLink(
    "load partial view", 
    "Load", 
    "Home", 
    new AjaxOptions { UpdateTargetId = "result" }
)

もちろん、パーシャルが表示されるページにホルダーを含める必要があります。

<div id="result"></div>

また、含めることを忘れないでください:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>

Ajax.* ヘルパーを有効にするために、メイン ビューで また、控えめな JavaScript が web.config で有効になっていることを確認してください (デフォルトで有効になっているはずです)。

<add key="UnobtrusiveJavaScriptEnabled" value="true" />

上記のコードを実行した後、1 つの混乱が発生します。必要なのを助けます。以下のような私の混乱。

@Html.Action("Load", "Home")
@Html.Partial("_LoadView")

@Html.Action("Load", "Home")の使用法は知っていますが@Html.Partial("_LoadView")、どのように機能するかわかりませんか?

のさまざまな使用法を示すために、誰かが私にいくつかの例を見せてもらえますか

@Html.Action("Load", "Home")

そしてそれはどのように違うのですか@Html.Partial("_LoadView")

ありがとう

4

2 に答える 2

1
@Html.Action("Load", "Home")

「HomeController」で「Load」ActionResult を実行します。このアクションは、次のいずれかを返す可能性があります (参照: MSDN ):

  • コンテンツ結果
  • 空の結果
  • ファイル結果
  • HttpUnauthorizedResult
  • JavaScript結果
  • JsonResult
  • RedirectResult
  • RedirectToRouteResult
  • ViewResultBase

その間

@Html.Partial("_LoadView")

部分ビュー「_LoadView」を現在のビューに挿入します。

Web フォームに精通している場合は、部分ビューを .ascx (ユーザー コントロール) と考えてください。

編集:

の使用例@Html.Action():

次のビューがあるとします。

<p>Here is my name: @Html.Action("Name")</p>

これが私のコントローラーです (ご覧のとおり、ルーティング先のコントローラーを暗黙的に使用する Html.Action() のオーバーロードを使用しています):

public class FooController : Controller
{
    //
    // GET: /Foo/

    public ActionResult Index()
    {
        return View();
    }

   // GET: /Foo/Name

    public ActionResult Name()
    {
       return Content("Annish");
    }
}
于 2013-09-11T08:49:33.293 に答える