0

ASP.NET MVC4 は初めてです。多数の部分ビューを使用するアプリケーションがあります。現在、それぞれの PartialView を返すために使用しているコントローラーがあり、非常に長いファイルを作成しています。

public PartialViewResult somePartial()
    {
        return PartialView("someParital");

    }
public PartialViewResult someOtherPartial()
    {
        return PartialView("someOtherParital");

    }

フォルダー/ディレクトリ全体の PartialView を返すコントローラーを作成する方法はありますか?

ありがとう、

4

2 に答える 2

1

Partial Viewsを使用して、マークアップに直接レンダリングできますHTML Helper。最も簡単な方法は、すべてのPartial View名前をListどこかに保存し、それを使用してすべてPartial Viewを名前でレンダリングすることです。

@{
    var myPartialViews = new string[] { "someParital", "someOtherParital" };
 }

@foreach(string partialView in myPartialViews)
{
    Html.Partial(partialView) //or Html.RenderPartial(partialView);
}
于 2013-10-07T16:35:26.170 に答える
0

ここで説明するように、return Json Data を PartialView の文字列として使用して、複数の部分ビューを返すことができます https://stackoverflow.com/a/18978036/2318354

return Json(new {  strPartial1 = RazorViewToString.RenderRazorViewToString(this, "someParital", model) ,  strPartial12 = RazorViewToString.RenderRazorViewToString(this, "someOtherParital", model2) });

UpdateTargetId On Success 関数を使用する代わりに、次の方法で Ajax Request を実行します。

@Ajax.ActionLink("Link-Name", "ActionName", "ControllerName", new AjaxOptions {OnSuccess = "scsFunction" }) 

JavaScriptで

function scsFunction(response) {
    var temphtml1 = response.strPartial1 ;
    var temphtml2 = response.strPartial2 ;

    $("#dvPartial1").html(temphtml1);
    $("#dvPartial2").html(temphtml2);

    }

このようにして、ワン アクション コールで部分ビューの数を更新できます。

于 2013-10-08T06:31:05.767 に答える